summaryrefslogtreecommitdiff
path: root/community/collectd
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-04-27 22:24:53 +0000
committerroot <root@rshg047.dnsready.net>2011-04-27 22:24:53 +0000
commit18d6577d511b9a1ac36eaae50060133a401e42a3 (patch)
treef681f9444a7a0a95916de40af82d3b805d5fb8d3 /community/collectd
parent69e1fada8bdc9588d0a3d8bc3403fa809d809a84 (diff)
Wed Apr 27 22:24:53 UTC 2011
Diffstat (limited to 'community/collectd')
-rw-r--r--community/collectd/PKGBUILD18
-rw-r--r--community/collectd/yajl-2.x.patch57
2 files changed, 71 insertions, 4 deletions
diff --git a/community/collectd/PKGBUILD b/community/collectd/PKGBUILD
index e3bc32c60..d801ab20d 100644
--- a/community/collectd/PKGBUILD
+++ b/community/collectd/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 45121 2011-04-16 15:59:33Z foutrelis $
+# $Id: PKGBUILD 45620 2011-04-26 00:57:42Z dreisner $
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Gerhard Brauer <gerhard.brauer@web.de>
pkgname=collectd
pkgver=5.0.0
-pkgrel=2
+pkgrel=3
pkgdesc='Daemon which collects system performance statistics periodically'
arch=('i686' 'x86_64')
url='http://collectd.org/'
@@ -43,10 +43,12 @@ depends=('libtool')
source=("${url}files/$pkgname-$pkgver.tar.gz"
'libnotify-0.7.patch'
- 'rc.d')
+ 'rc.d'
+ 'yajl-2.x.patch')
sha1sums=('026e5121348f0e525dedb3844fe61c7713994bb7'
'f6fed097c16f6c9c90b9a32a5b8e48d54b35b337'
- '0f441718d5519cb043b1130e5a1d0379078adbcc')
+ '0f441718d5519cb043b1130e5a1d0379078adbcc'
+ '2586559fc8d2b54f3d242a3e815ed81e81e0341b')
install=install
@@ -54,9 +56,17 @@ build() {
cd "$srcdir/$pkgname-$pkgver"
unset LDFLAGS # or perl not found
patch -p1 -i ../libnotify-0.7.patch
+
+ # fixes for yajl 2.x API changes
+ patch -Np0 < "$srcdir/yajl-2.x.patch"
+
sed -i 's/ipt_error_target/bozo_error_target/g' src/owniptc/libiptc.c
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--enable-static=no --with-python=/usr/bin/python2
+
+ # avoid -Werror with gcc 4.6
+ sed -i '/^AM_CFLAGS/s/ -Werror//' src/Makefile
+
make all
}
diff --git a/community/collectd/yajl-2.x.patch b/community/collectd/yajl-2.x.patch
new file mode 100644
index 000000000..6cd208006
--- /dev/null
+++ b/community/collectd/yajl-2.x.patch
@@ -0,0 +1,57 @@
+--- src/curl_json.c 2011-04-25 20:43:00.972938855 -0400
++++ src/curl_json.c 2011-04-25 20:46:03.859938860 -0400
+@@ -98,8 +98,7 @@
+ 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))
+ {
+ unsigned char *msg =
+ yajl_get_error(db->yajl, /* verbose = */ 1,
+@@ -130,7 +129,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, size_t number_len)
+ {
+ char buffer[number_len + 1];
+
+@@ -159,7 +158,7 @@
+ } /* int cj_cb_number */
+
+ static int cj_cb_map_key (void *ctx, const unsigned char *val,
+- unsigned int len)
++ size_t len)
+ {
+ cj_t *db = (cj_t *)ctx;
+ c_avl_tree_t *tree;
+@@ -187,7 +186,7 @@
+ }
+
+ static int cj_cb_string (void *ctx, const unsigned char *val,
+- unsigned int len)
++ size_t len)
+ {
+ cj_t *db = (cj_t *)ctx;
+ char str[len + 1];
+@@ -697,7 +696,7 @@
+ char *url;
+ yajl_handle yprev = db->yajl;
+
+- db->yajl = yajl_alloc (&ycallbacks, NULL, NULL, (void *)db);
++ db->yajl = yajl_alloc (&ycallbacks, NULL, (void *)db);
+ if (db->yajl == NULL)
+ {
+ ERROR ("curl_json plugin: yajl_alloc failed.");
+@@ -730,7 +729,7 @@
+ return (-1);
+ }
+
+- status = yajl_parse_complete (db->yajl);
++ status = yajl_complete_parse (db->yajl);
+ if (status != yajl_status_ok)
+ {
+ unsigned char *errmsg;