Index: net-mgmt/collectd5/Makefile =================================================================== --- net-mgmt/collectd5/Makefile +++ net-mgmt/collectd5/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= collectd -PORTVERSION= 5.5.2 +PORTVERSION= 5.6.0 CATEGORIES= net-mgmt MASTER_SITES= https://collectd.org/files/ \ http://collectd.org/files/ @@ -25,13 +25,14 @@ OPTIONS_GROUP= INPUT OUTPUT OPTIONS_GROUP_OUTPUT= KAFKA MONGODB NOTIFYDESKTOP NOTIFYEMAIL RIEMANN RRDTOOL \ TSDB -OPTIONS_GROUP_INPUT= CURL CURL_JSON CURL_XML DBI IPMI JSON MEMCACHEC \ - MODBUS MYSQL NUTUPS OLSRD ONEWIRE OPENLDAP \ +OPTIONS_GROUP_INPUT= CHRONY CURL CURL_JSON CURL_XML DBI IPMI JSON \ + MEMCACHEC MODBUS MQTT MYSQL NUTUPS OLSRD ONEWIRE OPENLDAP \ PERL PGSQL PINBA PING PYTHON RABBITMQ REDIS ROUTEROS \ SIGROK SNMP STATSD TOKYOTYRANT VARNISH XML \ XMMS ZOOKEEPER CGI_DESC= Install collection.cgi (requires rrdtool) +CHRONY_DESC= Enable chronyd plugin CURL_DESC= Enable curl-based plugins (apache, nginx, etc) CURL_JSON_DESC= Enable curl_json plugin (implies curl and json) CURL_XML_DESC= Enable ascent, bind, curl_xml plugins (implies curl and xml) @@ -45,6 +46,7 @@ MEMCACHEC_DESC= Enable memcachec plugin MODBUS_DESC= Enable modbus plugin MONGODB_DESC= Enable write_mongodb plugin (BROKEN) +MQTT_DESC= Enable MQTT broker metrics MYSQL_DESC= Enable mysql-based plugins NOTIFYDESKTOP_DESC= Enable desktop notifications NOTIFYEMAIL_DESC= Enable notifications via email @@ -115,6 +117,8 @@ p5-HTML-Parser>=0:www/p5-HTML-Parser CGI_IMPLIES= RRDTOOL +CHRONY_CONFIGURE_ENABLE= chrony + CURL_LIB_DEPENDS= libcurl.so:ftp/curl CURL_CONFIGURE_ENABLE= apache curl nginx write_http CURL_CONFIGURE_WITH= libcurl=${LOCALBASE} @@ -162,6 +166,10 @@ MONGODB_CONFIGURE_WITH= libmongoc=${LOCALBASE} MONGODB_BROKEN= fails to configure with write_mongodb option +MQTT_LIB_DEPENDS= libmosquitto.so:net/mosquitto +MQTT_CONFIGURE_ENABLE= mqtt +MQTT_CONFIGURE_WITH= libmosquitto=${LOCALBASE} + MYSQL_USE= mysql=yes MYSQL_CONFIGURE_ENABLE= mysql MYSQL_CONFIGURE_WITH= libmysql=${LOCALBASE} @@ -272,7 +280,6 @@ --enable-cpu \ --enable-csv \ --enable-df \ - --enable-disk \ --enable-dns \ --enable-email \ --enable-exec \ @@ -317,6 +324,15 @@ --enable-write_log \ --enable-zfs_arc \ +.include + +.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1000000 +PLIST_SUB+= DISK="@comment " +.else +CONFIGURE_ARGS+=--enable-disk +PLIST_SUB+= DISK="@comment " +.endif + INSTALL_TARGET= install-strip SHEBANG_FILES= contrib/collection.cgi Index: net-mgmt/collectd5/distinfo =================================================================== --- net-mgmt/collectd5/distinfo +++ net-mgmt/collectd5/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1469564676 -SHA256 (collectd-5.5.2.tar.bz2) = 017f3a4062187e594d8ab6af685655fb82a8a942dc574668e68242bdb8ba820f -SIZE (collectd-5.5.2.tar.bz2) = 1800476 +TIMESTAMP = 1474290609 +SHA256 (collectd-5.6.0.tar.bz2) = f0ffbbd91fac3682bd324a74b9b4c9eabe781394b303b5cfd457c4cfbe748623 +SIZE (collectd-5.6.0.tar.bz2) = 1818470 Index: net-mgmt/collectd5/files/patch-Makefile.am =================================================================== --- net-mgmt/collectd5/files/patch-Makefile.am +++ net-mgmt/collectd5/files/patch-Makefile.am @@ -1,6 +1,6 @@ ---- Makefile.am.orig 2016-01-22 08:33:25 UTC +--- Makefile.am.orig 2016-09-11 08:10:25 UTC +++ Makefile.am -@@ -14,7 +14,6 @@ EXTRA_DIST = contrib version-gen.sh +@@ -14,7 +14,6 @@ EXTRA_DIST = contrib version-gen.sh test install-exec-hook: $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run Index: net-mgmt/collectd5/files/patch-configure.ac =================================================================== --- net-mgmt/collectd5/files/patch-configure.ac +++ net-mgmt/collectd5/files/patch-configure.ac @@ -1,6 +1,6 @@ ---- configure.ac.orig 2016-01-22 09:51:17 UTC +--- configure.ac.orig 2016-09-11 08:10:25 UTC +++ configure.ac -@@ -155,7 +155,7 @@ then +@@ -185,7 +185,7 @@ then fi # Where to install .pc files. @@ -9,7 +9,7 @@ AC_SUBST(pkgconfigdir) # Check for standards compliance mode -@@ -715,7 +715,7 @@ SAVE_CFLAGS="$CFLAGS" +@@ -841,7 +841,7 @@ SAVE_CFLAGS="$CFLAGS" # Emulate behavior of src/Makefile.am if test "x$GCC" = "xyes" then @@ -18,7 +18,7 @@ fi AC_CACHE_CHECK([for strtok_r], -@@ -844,7 +844,7 @@ AC_CHECK_FUNCS(getutxent, [have_getutxen +@@ -968,7 +968,7 @@ AC_CHECK_FUNCS(getutxent, [have_getutxen if test "x$GCC" = "xyes" then SAVE_CFLAGS="$CFLAGS" @@ -27,7 +27,7 @@ fi AC_CHECK_FUNCS(strptime, [have_strptime="yes"], [have_strptime="no"]) -@@ -1571,6 +1571,7 @@ if test "x$with_kstat" = "xyes" +@@ -1757,6 +1757,7 @@ if test "x$with_kstat" = "xyes" then AC_CHECK_LIB(kstat, kstat_open, [with_kstat="yes"], [with_kstat="no (libkstat not found)"], []) fi @@ -35,7 +35,7 @@ if test "x$with_kstat" = "xyes" then AC_CHECK_LIB(devinfo, di_init, [with_devinfo="yes"], [with_devinfo="no (not found)"], []) -@@ -1580,6 +1581,8 @@ if test "x$with_kstat" = "xyes" +@@ -1766,6 +1767,8 @@ if test "x$with_kstat" = "xyes" then AC_DEFINE(HAVE_LIBKSTAT, 1, [Define to 1 if you have the 'kstat' library (-lkstat)]) @@ -44,7 +44,7 @@ fi AM_CONDITIONAL(BUILD_WITH_LIBKSTAT, test "x$with_kstat" = "xyes") AM_CONDITIONAL(BUILD_WITH_LIBDEVINFO, test "x$with_devinfo" = "xyes") -@@ -2624,8 +2627,8 @@ AC_ARG_WITH(libmongoc, [AS_HELP_STRING([ +@@ -3053,8 +3056,8 @@ AC_ARG_WITH(libmongoc, [AS_HELP_STRING([ with_libmongoc="no" else with_libmongoc="yes" @@ -55,7 +55,7 @@ fi; fi ], [with_libmongoc="yes"]) -@@ -2642,7 +2645,7 @@ then +@@ -3071,7 +3074,7 @@ then then AC_MSG_NOTICE([libmongoc CPPFLAGS: $LIBMONGOC_CPPFLAGS]) fi @@ -64,7 +64,7 @@ [with_libmongoc="yes"], [with_libmongoc="no ('mongo.h' not found)"], [#if HAVE_STDINT_H -@@ -2658,7 +2661,7 @@ then +@@ -3087,7 +3090,7 @@ then then AC_MSG_NOTICE([libmongoc LDFLAGS: $LIBMONGOC_LDFLAGS]) fi @@ -73,7 +73,7 @@ [with_libmongoc="yes"], [with_libmongoc="no (symbol 'mongo_run_command' not found)"]) fi -@@ -3415,7 +3418,7 @@ then +@@ -3873,7 +3876,7 @@ then SAVE_LIBS="$LIBS" # trigger an error if Perl_load_module*() uses __attribute__nonnull__(3) # (see issues #41 and #42) @@ -82,43 +82,7 @@ LIBS="$LIBS $PERL_LIBS" AC_CACHE_CHECK([for broken Perl_load_module()], -@@ -3645,7 +3648,7 @@ fi - if test "x$with_python" = "xyes" - then - AC_MSG_CHECKING([for Python CPPFLAGS]) -- python_include_path=`echo "import distutils.sysconfig;import sys;sys.stdout.write(distutils.sysconfig.get_python_inc())" | "$with_python_prog" 2>&1` -+ python_include_path=`echo "import distutils.sysconfig;import sys;sys.stdout.write(distutils.sysconfig.get_python_inc())" | "$with_python_prog" 2>/dev/null` - python_config_status=$? - - if test "$python_config_status" -ne 0 || test "x$python_include_path" = "x" -@@ -3668,7 +3671,7 @@ fi - if test "x$with_python" = "xyes" - then - AC_MSG_CHECKING([for Python LDFLAGS]) -- python_library_path=`echo "import distutils.sysconfig;import sys;sys.stdout.write(distutils.sysconfig.get_config_vars(\"LIBDIR\").__getitem__(0))" | "$with_python_prog" 2>&1` -+ python_library_path=`echo "import distutils.sysconfig;import sys;sys.stdout.write(distutils.sysconfig.get_config_vars(\"LIBDIR\").__getitem__(0))" | "$with_python_prog" 2>/dev/null` - python_config_status=$? - - if test "$python_config_status" -ne 0 || test "x$python_library_path" = "x" -@@ -3683,7 +3686,7 @@ fi - if test "x$with_python" = "xyes" - then - AC_MSG_CHECKING([for Python LIBS]) -- python_library_flags=`echo "import distutils.sysconfig;import sys;sys.stdout.write(distutils.sysconfig.get_config_vars(\"BLDLIBRARY\").__getitem__(0))" | "$with_python_prog" 2>&1` -+ python_library_flags=`echo "import distutils.sysconfig;import sys;sys.stdout.write(distutils.sysconfig.get_config_vars(\"BLDLIBRARY\").__getitem__(0))" | "$with_python_prog" 2>/dev/null` - python_config_status=$? - - if test "$python_config_status" -ne 0 || test "x$python_library_flags" = "x" -@@ -3698,7 +3701,7 @@ fi - if test "x$with_python" = "xyes" - then - LDFLAGS="-L$python_library_path $LDFLAGS" -- LIBS="$python_library_flags $LIBS" -+ LIBS="$python_library_flags $LIBS -lm -lpthread -lutil" - - AC_CHECK_FUNC(PyObject_CallFunction, - [with_python="yes"], -@@ -4761,8 +4764,8 @@ AC_ARG_WITH(libvarnish, [AS_HELP_STRING( +@@ -5249,8 +5252,8 @@ AC_ARG_WITH(libvarnish, [AS_HELP_STRING( else if test -d "$with_libvarnish/lib" then AC_MSG_NOTICE([Not checking for libvarnish: Manually configured]) @@ -129,11 +93,3 @@ with_libvarnish="yes" fi; fi; fi ], -@@ -5334,6 +5337,7 @@ fi - - if test "x$ac_system" = "xFreeBSD" - then -+ plugin_disk="yes" - plugin_zfs_arc="yes" - fi - Index: net-mgmt/collectd5/files/patch-src__Makefile.am =================================================================== --- net-mgmt/collectd5/files/patch-src__Makefile.am +++ net-mgmt/collectd5/files/patch-src__Makefile.am @@ -1,14 +1,6 @@ ---- src/Makefile.am.orig 2016-01-22 09:51:17 UTC +--- src/Makefile.am.orig 2016-09-11 08:10:25 UTC +++ src/Makefile.am -@@ -7,14 +7,14 @@ SUBDIRS += daemon - PLUGIN_LDFLAGS = -module -avoid-version -export-symbols-regex '\' - - if COMPILER_IS_GCC --AM_CFLAGS = -Wall -Werror -+AM_CFLAGS = -Wall - endif - - AM_CPPFLAGS = -I$(srcdir)/daemon +@@ -10,7 +10,7 @@ AM_CPPFLAGS = -I$(srcdir)/daemon AM_CPPFLAGS += -DPREFIX='"${prefix}"' AM_CPPFLAGS += -DCONFIGFILE='"${sysconfdir}/${PACKAGE_NAME}.conf"' AM_CPPFLAGS += -DLOCALSTATEDIR='"${localstatedir}"' @@ -17,7 +9,7 @@ if BUILD_FEATURE_DAEMON AM_CPPFLAGS += -DPIDFILE='"${localstatedir}/run/${PACKAGE_NAME}.pid"' endif -@@ -218,7 +218,7 @@ cpu_la_CFLAGS = $(AM_CFLAGS) +@@ -274,7 +274,7 @@ cpu_la_CFLAGS = $(AM_CFLAGS) cpu_la_LDFLAGS = $(PLUGIN_LDFLAGS) cpu_la_LIBADD = if BUILD_WITH_LIBKSTAT @@ -26,7 +18,7 @@ endif if BUILD_WITH_LIBDEVINFO cpu_la_LIBADD += -ldevinfo -@@ -301,7 +301,7 @@ disk_la_CFLAGS = $(AM_CFLAGS) +@@ -358,7 +358,7 @@ disk_la_CFLAGS = $(AM_CFLAGS) disk_la_LDFLAGS = $(PLUGIN_LDFLAGS) disk_la_LIBADD = if BUILD_WITH_LIBKSTAT @@ -35,7 +27,7 @@ endif if BUILD_WITH_LIBDEVINFO disk_la_LIBADD += -ldevinfo -@@ -319,6 +319,9 @@ endif +@@ -381,6 +381,9 @@ endif if BUILD_WITH_PERFSTAT disk_la_LIBADD += -lperfstat endif @@ -45,7 +37,7 @@ endif if BUILD_PLUGIN_DNS -@@ -405,7 +408,7 @@ interface_la_CFLAGS += $(BUILD_WITH_LIBS +@@ -481,7 +484,7 @@ interface_la_CFLAGS += $(BUILD_WITH_LIBS interface_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS) else if BUILD_WITH_LIBKSTAT @@ -54,7 +46,7 @@ endif if BUILD_WITH_LIBDEVINFO interface_la_LIBADD += -ldevinfo -@@ -584,7 +587,7 @@ memory_la_CFLAGS = $(AM_CFLAGS) +@@ -669,7 +672,7 @@ memory_la_CFLAGS = $(AM_CFLAGS) memory_la_LDFLAGS = $(PLUGIN_LDFLAGS) memory_la_LIBADD = if BUILD_WITH_LIBKSTAT @@ -63,7 +55,7 @@ endif if BUILD_WITH_LIBDEVINFO memory_la_LIBADD += -ldevinfo -@@ -951,7 +954,7 @@ swap_la_CFLAGS = $(AM_CFLAGS) +@@ -1034,7 +1037,7 @@ swap_la_CFLAGS = $(AM_CFLAGS) swap_la_LDFLAGS = $(PLUGIN_LDFLAGS) swap_la_LIBADD = if BUILD_WITH_LIBKSTAT @@ -72,7 +64,7 @@ endif if BUILD_WITH_LIBDEVINFO swap_la_LIBADD += -ldevinfo -@@ -997,7 +1000,7 @@ if BUILD_PLUGIN_TAPE +@@ -1080,7 +1083,7 @@ if BUILD_PLUGIN_TAPE pkglib_LTLIBRARIES += tape.la tape_la_SOURCES = tape.c tape_la_LDFLAGS = $(PLUGIN_LDFLAGS) @@ -81,7 +73,7 @@ endif if BUILD_PLUGIN_TARGET_NOTIFICATION -@@ -1102,7 +1105,7 @@ uptime_la_CFLAGS = $(AM_CFLAGS) +@@ -1184,7 +1187,7 @@ uptime_la_CFLAGS = $(AM_CFLAGS) uptime_la_LDFLAGS = $(PLUGIN_LDFLAGS) uptime_la_LIBADD = if BUILD_WITH_LIBKSTAT @@ -90,16 +82,16 @@ endif if BUILD_WITH_PERFSTAT uptime_la_LIBADD += -lperfstat -@@ -1260,7 +1263,7 @@ if BUILD_LINUX - # zfs_arc requires no library on linux - else - # solaris +@@ -1340,7 +1343,7 @@ if BUILD_FREEBSD + zfs_arc_la_LIBADD = -lm + endif + if BUILD_SOLARIS -zfs_arc_la_LIBADD = -lkstat +zfs_arc_la_LIBADD = $(BUILD_WITH_LIBKSTAT_LIBS) endif endif - endif -@@ -1354,12 +1357,7 @@ endif + +@@ -1433,12 +1436,7 @@ endif install-exec-hook: $(mkinstalldirs) $(DESTDIR)$(sysconfdir) Index: net-mgmt/collectd5/files/patch-src__daemon__Makefile.am =================================================================== --- net-mgmt/collectd5/files/patch-src__daemon__Makefile.am +++ net-mgmt/collectd5/files/patch-src__daemon__Makefile.am @@ -1,6 +1,6 @@ ---- src/daemon/Makefile.am.orig 2016-01-22 09:51:17 UTC +--- src/daemon/Makefile.am.orig 2016-09-11 08:10:25 UTC +++ src/daemon/Makefile.am -@@ -6,7 +6,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/src +@@ -2,7 +2,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/src AM_CPPFLAGS += -DPREFIX='"${prefix}"' AM_CPPFLAGS += -DCONFIGFILE='"${sysconfdir}/${PACKAGE_NAME}.conf"' AM_CPPFLAGS += -DLOCALSTATEDIR='"${localstatedir}"' Index: net-mgmt/collectd5/files/patch-src__daemon__collectd.h =================================================================== --- net-mgmt/collectd5/files/patch-src__daemon__collectd.h +++ net-mgmt/collectd5/files/patch-src__daemon__collectd.h @@ -1,21 +1,21 @@ ---- src/daemon/collectd.h.orig 2016-01-22 09:51:17 UTC +--- src/daemon/collectd.h.orig 2016-09-11 08:10:25 UTC +++ src/daemon/collectd.h -@@ -240,15 +240,15 @@ typedef int _Bool; +@@ -243,15 +243,15 @@ typedef int _Bool; #endif #ifndef LOCALSTATEDIR --#define LOCALSTATEDIR PREFIX "/var" -+#define LOCALSTATEDIR "/var" +-# define LOCALSTATEDIR PREFIX "/var" ++# define LOCALSTATEDIR "/var" #endif #ifndef PKGLOCALSTATEDIR --#define PKGLOCALSTATEDIR PREFIX "/var/lib/" PACKAGE_NAME -+#define PKGLOCALSTATEDIR PREFIX "/var/db/" PACKAGE_NAME +-# define PKGLOCALSTATEDIR PREFIX "/var/lib/" PACKAGE_NAME ++# define PKGLOCALSTATEDIR PREFIX "/var/db/" PACKAGE_NAME #endif #ifndef PIDFILE --#define PIDFILE PREFIX "/var/run/" PACKAGE_NAME ".pid" -+#define PIDFILE "/var/run/" PACKAGE_NAME ".pid" +-# define PIDFILE PREFIX "/var/run/" PACKAGE_NAME ".pid" ++# define PIDFILE "/var/run/" PACKAGE_NAME ".pid" #endif #ifndef PLUGINDIR Index: net-mgmt/collectd5/files/patch-src__dns.c =================================================================== --- net-mgmt/collectd5/files/patch-src__dns.c +++ net-mgmt/collectd5/files/patch-src__dns.c @@ -1,6 +1,6 @@ ---- src/dns.c.orig 2016-01-22 09:51:17 UTC +--- src/dns.c.orig 2016-09-11 08:10:25 UTC +++ src/dns.c -@@ -223,6 +223,15 @@ static int dns_run_pcap_loop (void) +@@ -225,6 +225,15 @@ static int dns_run_pcap_loop (void) pthread_sigmask (SIG_SETMASK, &sigmask, NULL); } Index: net-mgmt/collectd5/files/patch-src__modbus.c =================================================================== --- net-mgmt/collectd5/files/patch-src__modbus.c +++ net-mgmt/collectd5/files/patch-src__modbus.c @@ -1,8 +1,8 @@ ---- src/modbus.c.orig 2016-01-22 09:51:17 UTC +--- src/modbus.c.orig 2016-09-11 08:10:25 UTC +++ src/modbus.c @@ -25,6 +25,9 @@ + #include "common.h" #include "plugin.h" - #include "configfile.h" +/* FreeBSD needs this */ +#include Index: net-mgmt/collectd5/files/patch-src_config.h.in =================================================================== --- net-mgmt/collectd5/files/patch-src_config.h.in +++ net-mgmt/collectd5/files/patch-src_config.h.in @@ -1,6 +1,6 @@ ---- src/config.h.in.orig 2016-01-22 09:56:33 UTC +--- src/config.h.in.orig 2016-09-11 08:10:42 UTC +++ src/config.h.in -@@ -562,8 +562,8 @@ +@@ -587,8 +587,8 @@ /* Define to 1 if you have the header file. */ #undef HAVE_MODBUS_H @@ -9,9 +9,9 @@ +/* Define to 1 if you have the header file. */ +#undef HAVE_MONGOC_H - /* Define to 1 if you have the header file. */ - #undef HAVE_MYSQL_H -@@ -1541,13 +1541,15 @@ + /* Define to 1 if you have the header file. */ + #undef HAVE_MOSQUITTO_H +@@ -1617,13 +1617,15 @@ module search path. */ #undef LT_MODULE_PATH_VAR @@ -29,7 +29,7 @@ /* Define if NAN is defined by default and can initialize static variables. */ #undef NAN_STATIC_DEFAULT -@@ -1644,7 +1646,7 @@ +@@ -1715,7 +1717,7 @@ /* Define to empty if `const' does not conform to ANSI C. */ #undef const Index: net-mgmt/collectd5/files/patch-src_disk.c =================================================================== --- net-mgmt/collectd5/files/patch-src_disk.c +++ /dev/null @@ -1,160 +0,0 @@ ---- src/disk.c.orig 2016-01-22 09:51:17 UTC -+++ src/disk.c -@@ -53,6 +53,10 @@ - #if HAVE_IOKIT_IOBSD_H - # include - #endif -+#if KERNEL_FREEBSD -+#include -+#include -+#endif - - #if HAVE_LIMITS_H - # include -@@ -107,6 +111,9 @@ typedef struct diskstats - - static diskstats_t *disklist; - /* #endif KERNEL_LINUX */ -+#elif KERNEL_FREEBSD -+static struct gmesh geom_tree; -+/* #endif KERNEL_FREEBSD */ - - #elif HAVE_LIBKSTAT - #define MAX_NUMDISK 1024 -@@ -222,6 +229,21 @@ static int disk_init (void) - /* do nothing */ - /* #endif KERNEL_LINUX */ - -+#elif KERNEL_FREEBSD -+ int rv; -+ -+ rv = geom_gettree(&geom_tree); -+ if (rv != 0) { -+ ERROR ("geom_gettree() failed, returned %d", rv); -+ return (-1); -+ } -+ rv = geom_stats_open(); -+ if (rv != 0) { -+ ERROR ("geom_stats_open() failed, returned %d", rv); -+ return (-1); -+ } -+/* #endif KERNEL_FREEBSD */ -+ - #elif HAVE_LIBKSTAT - kstat_t *ksp_chain; - -@@ -505,6 +527,114 @@ static int disk_read (void) - IOObjectRelease (disk_list); - /* #endif HAVE_IOKIT_IOKITLIB_H */ - -+#elif KERNEL_FREEBSD -+ int retry, dirty; -+ -+ void *snap = NULL; -+ struct devstat *snap_iter; -+ -+ struct gident *geom_id; -+ -+ const char *disk_name; -+ long double read_time, write_time; -+ -+ for (retry = 0, dirty = 1; retry < 5 && dirty == 1; retry++) { -+ if (snap != NULL) -+ geom_stats_snapshot_free(snap); -+ -+ /* Get a fresh copy of stats snapshot */ -+ snap = geom_stats_snapshot_get(); -+ if (snap == NULL) { -+ ERROR("disk plugin: geom_stats_snapshot_get() failed."); -+ return (-1); -+ } -+ -+ /* Check if we have dirty read from this snapshot */ -+ dirty = 0; -+ geom_stats_snapshot_reset(snap); -+ while ((snap_iter = geom_stats_snapshot_next(snap)) != NULL) { -+ if (snap_iter->id == NULL) -+ continue; -+ geom_id = geom_lookupid(&geom_tree, snap_iter->id); -+ -+ /* New device? refresh GEOM tree */ -+ if (geom_id == NULL) { -+ geom_deletetree(&geom_tree); -+ if (geom_gettree(&geom_tree) != 0) { -+ ERROR("disk plugin: geom_gettree() failed"); -+ geom_stats_snapshot_free(snap); -+ return (-1); -+ } -+ geom_id = geom_lookupid(&geom_tree, snap_iter->id); -+ } -+ /* -+ * This should be rare: the device come right before we take the -+ * snapshot and went away right after it. We will handle this -+ * case later, so don't mark dirty but silently ignore it. -+ */ -+ if (geom_id == NULL) -+ continue; -+ -+ /* Only collect PROVIDER data */ -+ if (geom_id->lg_what != ISPROVIDER) -+ continue; -+ -+ /* Only collect data when rank is 1 (physical devices) */ -+ if (((struct gprovider *)(geom_id->lg_ptr))->lg_geom->lg_rank != 1) -+ continue; -+ -+ /* Check if this is a dirty read quit for another try */ -+ if (snap_iter->sequence0 != snap_iter->sequence1) { -+ dirty = 1; -+ break; -+ } -+ } -+ } -+ -+ /* Reset iterator */ -+ geom_stats_snapshot_reset(snap); -+ for (;;) { -+ snap_iter = geom_stats_snapshot_next(snap); -+ if (snap_iter == NULL) -+ break; -+ -+ if (snap_iter->id == NULL) -+ continue; -+ geom_id = geom_lookupid(&geom_tree, snap_iter->id); -+ if (geom_id == NULL) -+ continue; -+ if (geom_id->lg_what != ISPROVIDER) -+ continue; -+ if (((struct gprovider *)(geom_id->lg_ptr))->lg_geom->lg_rank != 1) -+ continue; -+ /* Skip dirty reads, if present */ -+ if (dirty && (snap_iter->sequence0 != snap_iter->sequence1)) -+ continue; -+ -+ disk_name = ((struct gprovider *)geom_id->lg_ptr)->lg_name; -+ -+ if ((snap_iter->bytes[1] != 0) || (snap_iter->bytes[2] != 0)) { -+ disk_submit(disk_name, "disk_octets", -+ (derive_t)snap_iter->bytes[1], -+ (derive_t)snap_iter->bytes[2]); -+ } -+ -+ if ((snap_iter->operations[1] != 0) || (snap_iter->operations[2] != 0)) { -+ disk_submit(disk_name, "disk_ops", -+ (derive_t)snap_iter->operations[1], -+ (derive_t)snap_iter->operations[2]); -+ } -+ -+ read_time = devstat_compute_etime(&snap_iter->duration[DEVSTAT_READ], NULL); -+ write_time = devstat_compute_etime(&snap_iter->duration[DEVSTAT_WRITE], NULL); -+ if ((read_time != 0) || (write_time != 0)) { -+ disk_submit (disk_name, "disk_time", -+ (derive_t)(read_time*1000), (derive_t)(write_time*1000)); -+ } -+ } -+ geom_stats_snapshot_free(snap); -+/* #endif KERNEL_FREEBSD */ -+ - #elif KERNEL_LINUX - FILE *fh; - char buffer[1024]; Index: net-mgmt/collectd5/files/patch-src_write__mongodb.c =================================================================== --- net-mgmt/collectd5/files/patch-src_write__mongodb.c +++ net-mgmt/collectd5/files/patch-src_write__mongodb.c @@ -1,6 +1,6 @@ ---- src/write_mongodb.c.orig 2015-12-01 15:28:11 UTC +--- src/write_mongodb.c.orig 2016-09-11 08:10:25 UTC +++ src/write_mongodb.c -@@ -41,7 +41,7 @@ +@@ -39,7 +39,7 @@ #else # define MONGO_USE_LONG_LONG_INT 1 #endif Index: net-mgmt/collectd5/files/patch-src_zfs__arc.c =================================================================== --- net-mgmt/collectd5/files/patch-src_zfs__arc.c +++ /dev/null @@ -1,13 +0,0 @@ ---- src/zfs_arc.c.orig 2016-07-26 05:57:19 UTC -+++ src/zfs_arc.c -@@ -270,10 +270,6 @@ static int za_read (void) - za_read_derive (ksp, "deleted", "cache_operation", "deleted"); - #if __FreeBSD__ - za_read_derive (ksp, "allocated","cache_operation", "allocated"); --#if defined(__FreeBSD_version) && (__FreeBSD_version < 1002501) -- /* stolen removed from sysctl kstat.zfs.misc.arcstats on FreeBSD 10.2+ */ -- za_read_derive (ksp, "stolen", "cache_operation", "stolen"); --#endif - #endif - - /* Issue indicators */ Index: net-mgmt/collectd5/files/patch-version-gen.sh =================================================================== --- net-mgmt/collectd5/files/patch-version-gen.sh +++ net-mgmt/collectd5/files/patch-version-gen.sh @@ -1,17 +1,17 @@ ---- version-gen.sh.orig 2016-08-05 21:19:57 UTC +--- version-gen.sh.orig 2016-09-11 08:10:25 UTC +++ version-gen.sh -@@ -1,13 +1,3 @@ +@@ -1,13 +1,2 @@ #!/bin/sh - --DEFAULT_VERSION="5.5.2.git" - --VERSION="`git describe 2> /dev/null | grep collectd | sed -e 's/^collectd-//'`" +-DEFAULT_VERSION="5.6.0.git" +- +-if [ -d .git ]; then +- VERSION="`git describe --dirty=+ --abbrev=7 2> /dev/null | grep collectd | sed -e 's/^collectd-//' -e 's/-/./g'`" +-fi - -if test -z "$VERSION"; then - VERSION="$DEFAULT_VERSION" -fi - --VERSION="`echo \"$VERSION\" | sed -e 's/-/./g'`" -- -printf "%s" "$VERSION" -+echo -n '5.5.2.git' ++echo -n '5.6.0.git' Index: net-mgmt/collectd5/pkg-plist =================================================================== --- net-mgmt/collectd5/pkg-plist +++ net-mgmt/collectd5/pkg-plist @@ -18,6 +18,7 @@ lib/collectd/apcups.so %%CURL_XML%%lib/collectd/ascent.so %%CURL_XML%%lib/collectd/bind.so +%%CHRONY%%lib/collectd/chrony.so lib/collectd/contextswitch.so lib/collectd/cpu.so lib/collectd/csv.so @@ -26,7 +27,7 @@ %%CURL_XML%%lib/collectd/curl_xml.so %%DBI%%lib/collectd/dbi.so lib/collectd/df.so -lib/collectd/disk.so +%%DISK%%lib/collectd/disk.so lib/collectd/dns.so lib/collectd/email.so lib/collectd/exec.so @@ -46,6 +47,7 @@ lib/collectd/memcached.so lib/collectd/memory.so %%MODBUS%%lib/collectd/modbus.so +%%MQTT%%lib/collectd/mqtt.so %%MYSQL%%lib/collectd/mysql.so lib/collectd/network.so %%CURL%%lib/collectd/nginx.so @@ -119,6 +121,7 @@ man/man5/collectd-email.5.gz man/man5/collectd-exec.5.gz man/man5/collectd-java.5.gz +man/man5/collectd-lua.5.gz man/man5/collectd-perl.5.gz man/man5/collectd-python.5.gz man/man5/collectd-snmp.5.gz