diff --git a/utils/collectd/Makefile b/utils/collectd/Makefile index a7b4315cf..d19161511 100644 --- a/utils/collectd/Makefile +++ b/utils/collectd/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=collectd -PKG_VERSION:=4.10.8 -PKG_RELEASE:=3 +PKG_VERSION:=5.4.1 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://collectd.org/files/ -PKG_MD5SUM:=7a60495208b9383225493c6dd6abb2f0 +PKG_MD5SUM:=6f56c71c96573a7f4f7fb3bfab185974 PKG_FIXUP:=autoreconf PKG_REMOVE_FILES:=aclocal.m4 libltdl/aclocal.m4 @@ -24,12 +24,17 @@ PKG_BUILD_PARALLEL:=1 PKG_USE_MIPS16:=0 COLLECTD_PLUGINS_DISABLED:= \ + amqp \ apple_sensors \ + aquaero \ battery \ + cgroups \ cpufreq \ curl_json \ + curl_xml \ dbi \ entropy \ + ethstat \ genericjmx \ gmond \ hddtemp \ @@ -37,29 +42,42 @@ COLLECTD_PLUGINS_DISABLED:= \ ipvs \ java \ libvirt \ + lpar \ mbmon \ + md \ memcachec \ memcached \ + mic \ monitorus \ multimeter \ netapp \ nfs \ notify_desktop \ notify_email \ + numa \ nut \ openvz \ oracle \ perl \ + pf \ pinba \ python \ + redis \ routeros \ rrdcached \ serial \ + sigrok \ + statsd \ swap \ tape \ tokyotyrant \ uuid \ + varnish \ vserver \ + write_graphite \ + write_mongodb \ + write_redis \ + write_riemann \ xmms \ zfs_arc \ @@ -106,11 +124,11 @@ COLLECTD_PLUGINS_SELECTED:= \ sensors \ snmp \ syslog \ - tail \ table \ - ted \ + tail \ tcpconns \ teamspeak2 \ + ted \ thermal \ unixsock \ uptime \ diff --git a/utils/collectd/patches/003-remove-werror.patch b/utils/collectd/patches/003-remove-werror.patch index 0e572bf31..12a05ee72 100644 --- a/utils/collectd/patches/003-remove-werror.patch +++ b/utils/collectd/patches/003-remove-werror.patch @@ -1,6 +1,6 @@ --- a/src/Makefile.am +++ b/src/Makefile.am -@@ -7,7 +7,7 @@ SUBDIRS += liboconfig +@@ -4,7 +4,7 @@ SUBDIRS += liboconfig endif if COMPILER_IS_GCC @@ -9,17 +9,6 @@ endif AM_CPPFLAGS = -DPREFIX='"${prefix}"' ---- a/src/Makefile.in -+++ b/src/Makefile.in -@@ -1833,7 +1833,7 @@ top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ - SUBDIRS = libcollectdclient $(am__append_1) $(am__append_2) --@COMPILER_IS_GCC_TRUE@AM_CFLAGS = -Wall -Werror -+@COMPILER_IS_GCC_TRUE@AM_CFLAGS = -Wall - AM_CPPFLAGS = -DPREFIX='"${prefix}"' \ - -DCONFIGFILE='"${sysconfdir}/${PACKAGE_NAME}.conf"' \ - -DLOCALSTATEDIR='"${localstatedir}"' \ --- a/src/libcollectdclient/Makefile.am +++ b/src/libcollectdclient/Makefile.am @@ -1,7 +1,7 @@ @@ -30,37 +19,4 @@ +AM_CFLAGS = -Wall endif - pkginclude_HEADERS = client.h lcc_features.h ---- a/src/libcollectdclient/Makefile.in -+++ b/src/libcollectdclient/Makefile.in -@@ -327,7 +327,7 @@ top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ - AUTOMAKE_OPTIONS = foreign no-dependencies --@COMPILER_IS_GCC_TRUE@AM_CFLAGS = -Wall -Werror -+@COMPILER_IS_GCC_TRUE@AM_CFLAGS = -Wall - pkginclude_HEADERS = client.h lcc_features.h - lib_LTLIBRARIES = libcollectdclient.la - nodist_pkgconfig_DATA = libcollectdclient.pc ---- a/src/owniptc/Makefile.am -+++ b/src/owniptc/Makefile.am -@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS = foreign no-dependenci - EXTRA_DIST = libiptc.c README.collectd - - if COMPILER_IS_GCC --AM_CFLAGS = -Wall -Werror -+AM_CFLAGS = -Wall - endif - - noinst_LTLIBRARIES = libiptc.la ---- a/src/owniptc/Makefile.in -+++ b/src/owniptc/Makefile.in -@@ -296,7 +296,7 @@ top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ - AUTOMAKE_OPTIONS = foreign no-dependencies - EXTRA_DIST = libiptc.c README.collectd --@COMPILER_IS_GCC_TRUE@AM_CFLAGS = -Wall -Werror -+@COMPILER_IS_GCC_TRUE@AM_CFLAGS = -Wall - noinst_LTLIBRARIES = libiptc.la - libiptc_la_SOURCES = libip4tc.c libip6tc.c \ - ipt_kernel_headers.h libip6tc.h libiptc.h linux_list.h \ + pkginclude_HEADERS = collectd/client.h collectd/network.h collectd/network_buffer.h collectd/lcc_features.h diff --git a/utils/collectd/patches/100-rrdtool-add-rrasingle-option.patch b/utils/collectd/patches/100-rrdtool-add-rrasingle-option.patch index ce1daa473..d5aafa287 100644 --- a/utils/collectd/patches/100-rrdtool-add-rrasingle-option.patch +++ b/utils/collectd/patches/100-rrdtool-add-rrasingle-option.patch @@ -1,6 +1,6 @@ --- a/src/rrdtool.c +++ b/src/rrdtool.c -@@ -80,6 +80,7 @@ static const char *config_keys[] = +@@ -82,6 +82,7 @@ static const char *config_keys[] = "HeartBeat", "RRARows", "RRATimespan", @@ -8,16 +8,16 @@ "XFF", "WritesPerSecond", "RandomTimeout" -@@ -101,6 +102,8 @@ static rrdcreate_config_t rrdcreate_conf +@@ -103,6 +104,8 @@ static rrdcreate_config_t rrdcreate_conf /* timespans = */ NULL, /* timespans_num = */ 0, + /* rrasingle = */ 0, + /* consolidation_functions = */ NULL, - /* consolidation_functions_num = */ 0 - }; -@@ -1027,6 +1030,14 @@ static int rrd_config (const char *key, + /* consolidation_functions_num = */ 0, + +@@ -1093,6 +1096,14 @@ static int rrd_config (const char *key, free (value_copy); } @@ -34,7 +34,7 @@ double tmp = atof (value); --- a/src/utils_rrdcreate.c +++ b/src/utils_rrdcreate.c -@@ -122,6 +122,9 @@ static int rra_get (char ***ret, const v +@@ -211,6 +211,9 @@ static int rra_get (char ***ret, const v rts_num = rra_timespans_num; } @@ -54,4 +54,4 @@ + char **consolidation_functions; size_t consolidation_functions_num; - }; + diff --git a/utils/collectd/patches/120-fix_kernel_2.6.37.patch b/utils/collectd/patches/120-fix_kernel_2.6.37.patch deleted file mode 100644 index cca445af5..000000000 --- a/utils/collectd/patches/120-fix_kernel_2.6.37.patch +++ /dev/null @@ -1,78 +0,0 @@ ---- a/src/owniptc/libiptc.c -+++ b/src/owniptc/libiptc.c -@@ -81,11 +81,11 @@ static const char *hooknames[] = { - }; - - /* Convenience structures */ --struct ipt_error_target -+ struct ipt_error_target2 - { - STRUCT_ENTRY_TARGET t; - char error[TABLE_MAXNAMELEN]; --}; -+}; - - struct chain_head; - struct rule_head; -@@ -1007,10 +1007,10 @@ static int parse_table(TC_HANDLE_T h) - /* Convenience structures */ - struct iptcb_chain_start{ - STRUCT_ENTRY e; -- struct ipt_error_target name; -+ struct ipt_error_target2 name; - }; - #define IPTCB_CHAIN_START_SIZE (sizeof(STRUCT_ENTRY) + \ -- ALIGN(sizeof(struct ipt_error_target))) -+ ALIGN(sizeof(struct ipt_error_target2))) - - struct iptcb_chain_foot { - STRUCT_ENTRY e; -@@ -1021,10 +1021,10 @@ struct iptcb_chain_foot { - - struct iptcb_chain_error { - STRUCT_ENTRY entry; -- struct ipt_error_target target; -+ struct ipt_error_target2 target; - }; - #define IPTCB_CHAIN_ERROR_SIZE (sizeof(STRUCT_ENTRY) + \ -- ALIGN(sizeof(struct ipt_error_target))) -+ ALIGN(sizeof(struct ipt_error_target2))) - - - -@@ -1069,7 +1069,7 @@ static int iptcc_compile_chain(TC_HANDLE - head->e.next_offset = IPTCB_CHAIN_START_SIZE; - strcpy(head->name.t.u.user.name, ERROR_TARGET); - head->name.t.u.target_size = -- ALIGN(sizeof(struct ipt_error_target)); -+ ALIGN(sizeof(struct ipt_error_target2)); - strcpy(head->name.error, c->name); - } else { - repl->hook_entry[c->hooknum-1] = c->head_offset; -@@ -1113,7 +1113,7 @@ static int iptcc_compile_chain_offsets(T - if (!iptcc_is_builtin(c)) { - /* Chain has header */ - *offset += sizeof(STRUCT_ENTRY) -- + ALIGN(sizeof(struct ipt_error_target)); -+ + ALIGN(sizeof(struct ipt_error_target2)); - (*num)++; - } - -@@ -1153,7 +1153,7 @@ static int iptcc_compile_table_prep(TC_H - /* Append one error rule at end of chain */ - num++; - offset += sizeof(STRUCT_ENTRY) -- + ALIGN(sizeof(struct ipt_error_target)); -+ + ALIGN(sizeof(struct ipt_error_target2)); - - /* ruleset size is now in offset */ - *size = offset; -@@ -1177,7 +1177,7 @@ static int iptcc_compile_table(TC_HANDLE - error->entry.target_offset = sizeof(STRUCT_ENTRY); - error->entry.next_offset = IPTCB_CHAIN_ERROR_SIZE; - error->target.t.u.user.target_size = -- ALIGN(sizeof(struct ipt_error_target)); -+ ALIGN(sizeof(struct ipt_error_target2)); - strcpy((char *)&error->target.t.u.user.name, ERROR_TARGET); - strcpy((char *)&error->target.error, "ERROR"); - diff --git a/utils/collectd/patches/130-timeleft-max.patch b/utils/collectd/patches/130-timeleft-max.patch deleted file mode 100644 index f26315295..000000000 --- a/utils/collectd/patches/130-timeleft-max.patch +++ /dev/null @@ -1,14 +0,0 @@ -Derived from uptream commit d5b09f2b: http://octo.cx/d5b09f2 - ---- a/src/types.db -+++ b/src/types.db -@@ -152,7 +152,7 @@ tcp_connections value:GAUGE:0:429496729 - temperature value:GAUGE:-273.15:U - threads value:GAUGE:0:U - time_dispersion seconds:GAUGE:-1000000:1000000 --timeleft timeleft:GAUGE:0:3600 -+timeleft timeleft:GAUGE:0:U - time_offset seconds:GAUGE:-1000000:1000000 - total_bytes value:DERIVE:0:U - total_requests value:DERIVE:0:U - diff --git a/utils/collectd/patches/140-fix-fqdnlookup.patch b/utils/collectd/patches/140-fix-fqdnlookup.patch new file mode 100644 index 000000000..d40463e8e --- /dev/null +++ b/utils/collectd/patches/140-fix-fqdnlookup.patch @@ -0,0 +1,11 @@ +--- a/src/configfile.c ++++ b/src/configfile.c +@@ -105,7 +105,7 @@ static cf_global_option_t cf_global_opti + {"BaseDir", NULL, PKGLOCALSTATEDIR}, + {"PIDFile", NULL, PIDFILE}, + {"Hostname", NULL, NULL}, +- {"FQDNLookup", NULL, "true"}, ++ {"FQDNLookup", NULL, "false"}, + {"Interval", NULL, NULL}, + {"ReadThreads", NULL, "5"}, + {"WriteThreads", NULL, "5"}, diff --git a/utils/collectd/patches/150-fix-interface-af-link b/utils/collectd/patches/150-fix-interface-af-link new file mode 100644 index 000000000..806a6837b --- /dev/null +++ b/utils/collectd/patches/150-fix-interface-af-link @@ -0,0 +1,21 @@ +--- a/src/interface.c ++++ b/src/interface.c +@@ -244,8 +244,8 @@ struct net_device_stats { + + for (if_ptr = if_list; if_ptr != NULL; if_ptr = if_ptr->ifa_next) + { +- if (if_ptr->ifa_addr != NULL && if_ptr->ifa_addr->sa_family == AF_LINK) { +- if_data = (struct IFA_DATA *) if_ptr->ifa_data; ++ if ((if_data = (struct IFA_DATA *) if_ptr->ifa_data) == NULL) ++ continue; + + if_submit (if_ptr->ifa_name, "if_octets", + if_data->IFA_RX_BYTES, +@@ -256,7 +256,6 @@ struct net_device_stats { + if_submit (if_ptr->ifa_name, "if_errors", + if_data->IFA_RX_ERROR, + if_data->IFA_TX_ERROR); +- } + } + + freeifaddrs (if_list); diff --git a/utils/collectd/patches/200-fix-git-describe-error.patch b/utils/collectd/patches/200-fix-git-describe-error.patch index 1946650a7..0d4120ebf 100644 --- a/utils/collectd/patches/200-fix-git-describe-error.patch +++ b/utils/collectd/patches/200-fix-git-describe-error.patch @@ -2,7 +2,7 @@ +++ b/version-gen.sh @@ -2,7 +2,7 @@ - DEFAULT_VERSION="4.10.8.git" + DEFAULT_VERSION="5.4.1.git" -VERSION="`git describe 2> /dev/null | sed -e 's/^collectd-//'`" +#VERSION="`git describe 2> /dev/null | sed -e 's/^collectd-//'`" diff --git a/utils/collectd/patches/900-add-iwinfo-plugin.patch b/utils/collectd/patches/900-add-iwinfo-plugin.patch index a63549332..1b358d01e 100644 --- a/utils/collectd/patches/900-add-iwinfo-plugin.patch +++ b/utils/collectd/patches/900-add-iwinfo-plugin.patch @@ -1,6 +1,6 @@ ---- a/configure.in -+++ b/configure.in -@@ -490,6 +490,9 @@ AC_CHECK_HEADERS(netinet/if_ether.h, [], +--- a/configure.ac ++++ b/configure.ac +@@ -568,6 +568,9 @@ AC_CHECK_HEADERS(net/pfvar.h, have_termios_h="no" AC_CHECK_HEADERS(termios.h, [have_termios_h="yes"]) @@ -10,7 +10,7 @@ # # Checks for typedefs, structures, and compiler characteristics. # -@@ -4081,6 +4084,7 @@ plugin_interface="no" +@@ -4819,6 +4822,7 @@ plugin_interface="no" plugin_ipmi="no" plugin_ipvs="no" plugin_irq="no" @@ -18,7 +18,7 @@ plugin_libvirt="no" plugin_load="no" plugin_memory="no" -@@ -4388,6 +4392,7 @@ AC_PLUGIN([ipmi], [$plugin_ipmi], +@@ -5157,6 +5161,7 @@ AC_PLUGIN([ipmi], [$plugin_ipmi], AC_PLUGIN([iptables], [$with_libiptc], [IPTables rule counters]) AC_PLUGIN([ipvs], [$plugin_ipvs], [IPVS connection statistics]) AC_PLUGIN([irq], [$plugin_irq], [IRQ statistics]) @@ -26,7 +26,7 @@ AC_PLUGIN([java], [$with_java], [Embed the Java Virtual Machine]) AC_PLUGIN([libvirt], [$plugin_libvirt], [Virtual machine statistics]) AC_PLUGIN([load], [$plugin_load], [System load]) -@@ -4666,6 +4671,7 @@ Configuration: +@@ -5458,6 +5463,7 @@ Configuration: protobuf-c . . . . . $have_protoc_c oracle . . . . . . . $with_oracle python . . . . . . . $with_python @@ -34,7 +34,7 @@ Features: daemon mode . . . . . $enable_daemon -@@ -4705,6 +4711,7 @@ Configuration: +@@ -5502,6 +5508,7 @@ Configuration: iptables . . . . . . $enable_iptables ipvs . . . . . . . . $enable_ipvs irq . . . . . . . . . $enable_irq @@ -44,7 +44,7 @@ load . . . . . . . . $enable_load --- a/src/collectd.conf.in +++ b/src/collectd.conf.in -@@ -82,6 +82,7 @@ FQDNLookup true +@@ -109,6 +109,7 @@ #@BUILD_PLUGIN_IPMI_TRUE@LoadPlugin ipmi #@BUILD_PLUGIN_IPVS_TRUE@LoadPlugin ipvs #@BUILD_PLUGIN_IRQ_TRUE@LoadPlugin irq @@ -52,7 +52,7 @@ #@BUILD_PLUGIN_JAVA_TRUE@LoadPlugin java #@BUILD_PLUGIN_LIBVIRT_TRUE@LoadPlugin libvirt @BUILD_PLUGIN_LOAD_TRUE@@BUILD_PLUGIN_LOAD_TRUE@LoadPlugin load -@@ -376,6 +377,12 @@ FQDNLookup true +@@ -467,6 +468,12 @@ # IgnoreSelected true # @@ -67,7 +67,7 @@ # JVMArg "-Djava.class.path=@prefix@/share/collectd/java/collectd-api.jar" --- a/src/collectd.conf.pod +++ b/src/collectd.conf.pod -@@ -1478,6 +1478,27 @@ and all other interrupts are collected. +@@ -2056,6 +2056,27 @@ and all other interrupts are collected. =back @@ -250,7 +250,7 @@ +} --- a/src/Makefile.am +++ b/src/Makefile.am -@@ -453,6 +453,15 @@ collectd_LDADD += "-dlopen" irq.la +@@ -530,6 +530,15 @@ collectd_LDADD += "-dlopen" irq.la collectd_DEPENDENCIES += irq.la endif @@ -268,8 +268,12 @@ java_la_SOURCES = java.c --- a/src/types.db +++ b/src/types.db -@@ -171,3 +171,4 @@ voltage value:GAUGE:U:U +@@ -195,7 +195,7 @@ voltage value:GAUGE:U:U vs_memory value:GAUGE:0:9223372036854775807 vs_processes value:GAUGE:0:65535 vs_threads value:GAUGE:0:65535 +- +stations value:GAUGE:0:256 + # + # Legacy types + # (required for the v5 upgrade target) diff --git a/utils/collectd/patches/905-fix-sigrok-upstream-patch-post-541 b/utils/collectd/patches/905-fix-sigrok-upstream-patch-post-541 new file mode 100644 index 000000000..2b614cc8e --- /dev/null +++ b/utils/collectd/patches/905-fix-sigrok-upstream-patch-post-541 @@ -0,0 +1,31 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -3825,18 +3825,20 @@ AC_ARG_WITH(libsigrok, [AS_HELP_STRING([--with-libsigrok@<:@=PREFIX@:>@], [Path + with_libsigrok_ldflags="-L$withval/lib" + fi + fi +-],[]) ++],[with_libsigrok="yes"]) + + # libsigrok has a glib dependency + if test "x$with_libsigrok" = "xyes" + then +- if test -z "m4_ifdef([AM_PATH_GLIB_2_0], [yes], [])" +- then +- with_libsigrok="no (glib not available)" +- else +- AM_PATH_GLIB_2_0([2.28.0], +- [with_libsigrok_cflags="$with_libsigrok_cflags $GLIB_CFLAGS"; with_libsigrok_ldflags="$with_libsigrok_ldflags $GLIB_LIBS"]) +- fi ++m4_ifdef([AM_PATH_GLIB_2_0], ++ [ ++ AM_PATH_GLIB_2_0([2.28.0], ++ [with_libsigrok_cflags="$with_libsigrok_cflags $GLIB_CFLAGS"; with_libsigrok_ldflags="$with_libsigrok_ldflags $GLIB_LIBS"]) ++ ], ++ [ ++ with_libsigrok="no (glib not available)" ++ ] ++) + fi + + # libsigrok headers