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
PKG_USE_MIPS16:=0
COLLECTD_PLUGINS_DISABLED:= \
+ amqp \
apple_sensors \
+ aquaero \
battery \
+ cgroups \
cpufreq \
curl_json \
+ curl_xml \
dbi \
entropy \
+ ethstat \
genericjmx \
gmond \
hddtemp \
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 \
sensors \
snmp \
syslog \
- tail \
table \
- ted \
+ tail \
tcpconns \
teamspeak2 \
+ ted \
thermal \
unixsock \
uptime \
--- 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
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 @@
+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
--- 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",
"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);
}
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;
}
+
char **consolidation_functions;
size_t consolidation_functions_num;
- };
+
+++ /dev/null
---- 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");
-
+++ /dev/null
-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
-
--- /dev/null
+--- 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"},
--- /dev/null
+--- 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);
+++ 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-//'`"
---- 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"])
#
# 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"
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])
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
Features:
daemon mode . . . . . $enable_daemon
-@@ -4705,6 +4711,7 @@ Configuration:
+@@ -5502,6 +5508,7 @@ Configuration:
iptables . . . . . . $enable_iptables
ipvs . . . . . . . . $enable_ipvs
irq . . . . . . . . . $enable_irq
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
#@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
#</Plugin>
# 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
+}
--- 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
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)
--- /dev/null
+--- 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