diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2011-07-18 10:13:02 +0000 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2011-07-18 10:13:02 +0000 |
commit | fbf53828d92548a8a2377855d0ad7cd4f86a6389 (patch) | |
tree | 95cdf582e4a008f185c914d8a3285e3890ace090 /app-admin/collectd | |
parent | Add x11-misc/set_opacity-1.0, bug #276913 (diff) | |
download | gentoo-2-fbf53828d92548a8a2377855d0ad7cd4f86a6389.tar.gz gentoo-2-fbf53828d92548a8a2377855d0ad7cd4f86a6389.tar.bz2 gentoo-2-fbf53828d92548a8a2377855d0ad7cd4f86a6389.zip |
Add upstream compatibility patch for yajl-v2, bug 374411; add Johan Bergström as proxied maintainer
(Portage version: 2.1.10.5/cvs/Linux x86_64)
Diffstat (limited to 'app-admin/collectd')
-rw-r--r-- | app-admin/collectd/ChangeLog | 7 | ||||
-rw-r--r-- | app-admin/collectd/collectd-5.0.0-r1.ebuild | 3 | ||||
-rw-r--r-- | app-admin/collectd/files/collectd-5.0.0-yajl2.patch | 125 | ||||
-rw-r--r-- | app-admin/collectd/metadata.xml | 4 |
4 files changed, 137 insertions, 2 deletions
diff --git a/app-admin/collectd/ChangeLog b/app-admin/collectd/ChangeLog index 44ffbb983783..e86be9b42af8 100644 --- a/app-admin/collectd/ChangeLog +++ b/app-admin/collectd/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for app-admin/collectd # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/ChangeLog,v 1.21 2011/04/24 21:16:04 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/ChangeLog,v 1.22 2011/07/18 10:13:02 dilfridge Exp $ + + 18 Jul 2011; Andreas K. Huettel <dilfridge@gentoo.org> + collectd-5.0.0-r1.ebuild, +files/collectd-5.0.0-yajl2.patch, metadata.xml: + Add upstream compatibility patch for yajl-v2, bug 374411; add Johan + Bergström as proxied maintainer 24 Apr 2011; Andreas K. Huettel <dilfridge@gentoo.org> collectd-4.10.3-r1.ebuild, +files/collectd-4.10.3-werror.patch, diff --git a/app-admin/collectd/collectd-5.0.0-r1.ebuild b/app-admin/collectd/collectd-5.0.0-r1.ebuild index 3ef5d3d12ff5..b3d2031d328f 100644 --- a/app-admin/collectd/collectd-5.0.0-r1.ebuild +++ b/app-admin/collectd/collectd-5.0.0-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/collectd-5.0.0-r1.ebuild,v 1.2 2011/04/24 21:16:04 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/collectd-5.0.0-r1.ebuild,v 1.3 2011/07/18 10:13:02 dilfridge Exp $ EAPI=4 @@ -104,6 +104,7 @@ PATCHES=( "${FILESDIR}/${PN}-4.10.1"-{libperl,libiptc,noowniptc}.patch "${FILESDIR}/${PN}-4.10.2"-{libocci,libnotify-0.7,nohal}.patch "${FILESDIR}/${PN}-4.10.3"-{lt,werror}.patch + "${FILESDIR}/${PN}-5.0.0"-yajl2.patch ) # @FUNCTION: collectd_plugin_kernel_linux diff --git a/app-admin/collectd/files/collectd-5.0.0-yajl2.patch b/app-admin/collectd/files/collectd-5.0.0-yajl2.patch new file mode 100644 index 000000000000..3d2f77332909 --- /dev/null +++ b/app-admin/collectd/files/collectd-5.0.0-yajl2.patch @@ -0,0 +1,125 @@ +diff -ruN collectd-5.0.0.orig/configure.in collectd-5.0.0/configure.in +--- collectd-5.0.0.orig/configure.in 2011-03-27 18:35:08.000000000 +0200 ++++ collectd-5.0.0/configure.in 2011-07-18 11:56:01.053544558 +0200 +@@ -3863,6 +3863,7 @@ + CPPFLAGS="$CPPFLAGS $with_libyajl_cppflags" + + AC_CHECK_HEADERS(yajl/yajl_parse.h, [with_libyajl="yes"], [with_libyajl="no (yajl/yajl_parse.h not found)"]) ++ AC_CHECK_HEADERS(yajl/yajl_version.h) + + CPPFLAGS="$SAVE_CPPFLAGS" + fi +diff -ruN collectd-5.0.0.orig/src/curl_json.c collectd-5.0.0/src/curl_json.c +--- collectd-5.0.0.orig/src/curl_json.c 2011-03-27 18:35:08.000000000 +0200 ++++ collectd-5.0.0/src/curl_json.c 2011-07-18 12:03:00.741544705 +0200 +@@ -1,7 +1,7 @@ + /** + * collectd - src/curl_json.c + * Copyright (C) 2009 Doug MacEachern +- * Copyright (C) 2006-2010 Florian octo Forster ++ * Copyright (C) 2006-2011 Florian octo Forster + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the +@@ -18,7 +18,7 @@ + * + * Authors: + * Doug MacEachern <dougm at hyperic.com> +- * Florian octo Forster <octo at verplant.org> ++ * Florian octo Forster <octo at collectd.org> + **/ + + #include "collectd.h" +@@ -29,6 +29,13 @@ + + #include <curl/curl.h> + #include <yajl/yajl_parse.h> ++#if HAVE_YAJL_YAJL_VERSION_H ++# include <yajl/yajl_version.h> ++#endif ++ ++#if defined(YAJL_MAJOR) && (YAJL_MAJOR > 1) ++# define HAVE_YAJL_V2 1 ++#endif + + #define CJ_DEFAULT_HOST "localhost" + #define CJ_KEY_MAGIC 0x43484b59UL /* CHKY */ +@@ -77,6 +84,12 @@ + }; + typedef struct cj_s cj_t; /* }}} */ + ++#if HAVE_YAJL_V2 ++typedef size_t yajl_len_t; ++#else ++typedef unsigned int yajl_len_t; ++#endif ++ + static int cj_read (user_data_t *ud); + static int cj_curl_perform (cj_t *db, CURL *curl); + static void cj_submit (cj_t *db, cj_key_t *key, value_t *value); +@@ -98,8 +111,21 @@ + return (0); + + status = yajl_parse(db->yajl, (unsigned char *)buf, len); +- if ((status != yajl_status_ok) +- && (status != yajl_status_insufficient_data)) ++ if (status == yajl_status_ok) ++ { ++#if HAVE_YAJL_V2 ++ status = yajl_complete_parse(db->yajl); ++#else ++ status = yajl_parse_complete(db->yajl); ++#endif ++ return (len); ++ } ++#if !HAVE_YAJL_V2 ++ else if (status == yajl_status_insufficient_data) ++ return (len); ++#endif ++ ++ if (status != yajl_status_ok) + { + unsigned char *msg = + yajl_get_error(db->yajl, /* verbose = */ 1, +@@ -130,7 +156,7 @@ + /* "number" may not be null terminated, so copy it into a buffer before + * parsing. */ + static int cj_cb_number (void *ctx, +- const char *number, unsigned int number_len) ++ const char *number, yajl_len_t number_len) + { + char buffer[number_len + 1]; + +@@ -159,7 +185,7 @@ + } /* int cj_cb_number */ + + static int cj_cb_map_key (void *ctx, const unsigned char *val, +- unsigned int len) ++ yajl_len_t len) + { + cj_t *db = (cj_t *)ctx; + c_avl_tree_t *tree; +@@ -187,7 +213,7 @@ + } + + static int cj_cb_string (void *ctx, const unsigned char *val, +- unsigned int len) ++ yajl_len_t len) + { + cj_t *db = (cj_t *)ctx; + char str[len + 1]; +@@ -697,7 +723,13 @@ + char *url; + yajl_handle yprev = db->yajl; + +- db->yajl = yajl_alloc (&ycallbacks, NULL, NULL, (void *)db); ++ db->yajl = yajl_alloc (&ycallbacks, ++#if HAVE_YAJL_V2 ++ /* alloc funcs = */ NULL, ++#else ++ /* alloc funcs = */ NULL, NULL, ++#endif ++ /* context = */ (void *)db); + if (db->yajl == NULL) + { + ERROR ("curl_json plugin: yajl_alloc failed."); diff --git a/app-admin/collectd/metadata.xml b/app-admin/collectd/metadata.xml index 401f2064212f..7039301838cc 100644 --- a/app-admin/collectd/metadata.xml +++ b/app-admin/collectd/metadata.xml @@ -3,6 +3,10 @@ <pkgmetadata> <herd>no-herd</herd> <maintainer> + <email>bugs@bergstroem.nu</email> + <name>Johan Bergström</name> + </maintainer> + <maintainer> <email>dilfridge@gentoo.org</email> <name>Andreas K. Huettel</name> </maintainer> |