summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2011-07-18 10:13:02 +0000
committerAndreas K. Hüttel <dilfridge@gentoo.org>2011-07-18 10:13:02 +0000
commitfbf53828d92548a8a2377855d0ad7cd4f86a6389 (patch)
tree95cdf582e4a008f185c914d8a3285e3890ace090 /app-admin/collectd
parentAdd x11-misc/set_opacity-1.0, bug #276913 (diff)
downloadgentoo-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/ChangeLog7
-rw-r--r--app-admin/collectd/collectd-5.0.0-r1.ebuild3
-rw-r--r--app-admin/collectd/files/collectd-5.0.0-yajl2.patch125
-rw-r--r--app-admin/collectd/metadata.xml4
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>