Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Nov 2012 18:30:13 GMT
From:      Paul Guyot <pguyot@kallisys.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/173894: [PATCH] net-mgmt/collectd5: enable users and zfs_arc plugins
Message-ID:  <201211241830.qAOIUDtd031217@excelsa.semiocast.net>
Resent-Message-ID: <201211241840.qAOIe0J9059587@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         173894
>Category:       ports
>Synopsis:       [PATCH] net-mgmt/collectd5: enable users and zfs_arc plugins
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Nov 24 18:40:00 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Paul Guyot
>Release:        FreeBSD 9.1-PRERELEASE amd64
>Organization:
Semiocast
>Environment:
System: FreeBSD excelsa.semiocast.net 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #0: Tue Nov 20 14:52:12 UTC 2012 root@excelsa.semiocast.net:/usr/obj/usr/src/sys/GENERIC amd64


>Description:

The attached patch does the following:
- enable users plugin, which works as is;
- enable zfs_arc plugin, which has been ported to FreeBSD (patch has also been submitted upstream);
- make write_graphite optional, allowing it as the single output plugin (otherwise, at least another output plugin is required).

The port epoch hasn't been updated.
The patch includes a new file (to be added in svn): files/patch-src__zfs_arc.c

>How-To-Repeat:
>Fix:

--- collectd5.diff begins here ---
diff -Nru /usr/ports/net-mgmt/collectd5/Makefile freebsd-collectd5-port/Makefile
--- /usr/ports/net-mgmt/collectd5/Makefile	2012-11-17 06:00:31.000000000 +0000
+++ freebsd-collectd5-port/Makefile	2012-11-24 17:58:06.465128352 +0000
@@ -23,7 +23,7 @@
 
 OPTIONS_DEFINE=		CGI BIND DEBUG GCRYPT VIRT
 OPTIONS_MULTI=		INPUT OUTPUT
-OPTIONS_MULTI_OUTPUT=	RRDTOOL RRDCACHED WRITE_HTTP
+OPTIONS_MULTI_OUTPUT=	RRDTOOL RRDCACHED WRITE_GRAPHITE WRITE_HTTP
 OPTIONS_MULTI_INPUT=	APACHE APCUPS CURL CURL_JSON CURL_XML DBI DISK \
 			GCRYPT NUTUPS INTERFACE MBMON MEMCACHED MYSQL NGINX OPENVPN \
 			PDNS PGSQL PING PYTHON ROUTEROS SNMP TOKYOTYRANT XMMS
@@ -60,6 +60,7 @@
 # OUTPUT
 RRDTOOL_DESC=		RRDTool
 RRDCACHED_DESC=		RRDTool Cached (requires RRDTOOL)
+WRITE_GRAPHITE_DESC=	write_graphite
 WRITE_HTTP_DESC=	write_http
 
 MAN1=		collectd.1 collectd-nagios.1 collectdmon.1 collectdctl.1
@@ -133,11 +134,9 @@
 		--disable-teamspeak2 \
 		--disable-ted \
 		--disable-thermal \
-		--disable-users \
 		--disable-vmem \
 		--disable-vserver \
 		--disable-wireless \
-		--disable-zfs_arc \
 		--without-perl-bindings \
 		--without-librabbitmq \
 		--disable-varnish \
@@ -405,6 +404,14 @@
 PLIST_SUB+=	VIRT="@comment "
 .endif
 
+.if ${PORT_OPTIONS:MWRITE_GRAPHITE}
+CONFIGURE_ARGS+=--enable-write_graphite
+PLIST_SUB+=	WRITE_GRAPHITE=""
+.else
+CONFIGURE_ARGS+=--disable-write_graphite
+PLIST_SUB+=	WRITE_GRAPHITE="@comment "
+.endif
+
 .if ${PORT_OPTIONS:MWRITE_HTTP}
 CONFIGURE_ARGS+=--enable-write_http
 PLIST_SUB+=	WRITE_HTTP=""
diff -Nru /usr/ports/net-mgmt/collectd5/files/patch-configure.in freebsd-collectd5-port/files/patch-configure.in
--- /usr/ports/net-mgmt/collectd5/files/patch-configure.in	2012-04-12 05:56:09.000000000 +0000
+++ freebsd-collectd5-port/files/patch-configure.in	2012-11-24 17:58:06.206512805 +0000
@@ -1,6 +1,16 @@
---- configure.in.orig	2011-10-14 12:49:49.000000000 -0800
-+++ configure.in	2012-03-20 08:09:25.000000000 -0800
-@@ -98,7 +98,7 @@
+--- configure.in.orig	2012-04-02 08:04:58.000000000 +0000
++++ configure.in	2012-11-23 22:00:22.424129087 +0000
+@@ -67,6 +67,9 @@
+ 	*openbsd*)
+ 	ac_system="OpenBSD"
+ 	;;
++	*freebsd*)
++	ac_system="FreeBSD"
++	;;
+ 	*aix*)
+ 	AC_DEFINE([KERNEL_AIX], 1, [True if program is to be compiled for a AIX kernel])
+ 	ac_system="AIX"
+@@ -98,7 +101,7 @@
  fi
  
  # Where to install .pc files.
@@ -9,7 +19,24 @@
  AC_SUBST(pkgconfigdir)
  
  # Check for standards compliance mode
-@@ -1745,9 +1745,6 @@
+@@ -1378,6 +1381,7 @@
+ then
+ 	AC_CHECK_LIB(kstat, kstat_open, [with_kstat="yes"], [with_kstat="no (libkstat not found)"], [])
+ fi
++
+ if test "x$with_kstat" = "xyes"
+ then
+ 	AC_CHECK_LIB(devinfo, di_init, [with_devinfo="yes"], [with_devinfo="no (not found)"], [])
+@@ -1387,6 +1391,8 @@
+ then
+ 	AC_DEFINE(HAVE_LIBKSTAT, 1,
+ 		  [Define to 1 if you have the 'kstat' library (-lkstat)])
++        BUILD_WITH_LIBKSTAT_LIBS="-lkstat"
++        AC_SUBST(BUILD_WITH_LIBKSTAT_LIBS)
+ fi
+ AM_CONDITIONAL(BUILD_WITH_LIBKSTAT, test "x$with_kstat" = "xyes")
+ AM_CONDITIONAL(BUILD_WITH_LIBDEVINFO, test "x$with_devinfo" = "xyes")
+@@ -1807,9 +1813,6 @@
  		[with_libgcrypt="yes"],
  		[with_libgcrypt="no (symbol gcry_md_hash_buffer not found)"])
  
@@ -19,7 +46,7 @@
  fi
  
  CPPFLAGS="$SAVE_CPPFLAGS"
-@@ -3165,7 +3162,7 @@
+@@ -3297,7 +3300,7 @@
  if test "x$with_python" = "xyes"
  then
  	AC_MSG_CHECKING([for Python LIBS])
@@ -28,7 +55,7 @@
  	python_config_status=$?
  
  	if test "$python_config_status" -ne 0 || test "x$python_library_flags" = "x"
-@@ -3180,7 +3177,7 @@
+@@ -3312,7 +3315,7 @@
  if test "x$with_python" = "xyes"
  then
  	LDFLAGS="-L$python_library_path $LDFLAGS"
@@ -37,3 +64,16 @@
  
  	AC_CHECK_FUNC(PyObject_CallFunction,
  		      [with_python="yes"],
+@@ -4580,6 +4583,12 @@
+ 	plugin_zfs_arc="yes"
+ fi
+ 
++# FreeBSD
++if test "x$ac_system" = "xFreeBSD"
++then
++	plugin_zfs_arc="yes"
++fi
++
+ if test "x$with_devinfo$with_kstat" = "xyesyes"
+ then
+ 	plugin_cpu="yes"
diff -Nru /usr/ports/net-mgmt/collectd5/files/patch-src__Makefile.am freebsd-collectd5-port/files/patch-src__Makefile.am
--- /usr/ports/net-mgmt/collectd5/files/patch-src__Makefile.am	2012-01-09 21:13:48.000000000 +0000
+++ freebsd-collectd5-port/files/patch-src__Makefile.am	2012-11-24 17:58:06.206512805 +0000
@@ -1,6 +1,87 @@
---- src/Makefile.am.orig	2012-01-08 16:05:12.000000000 +0100
-+++ src/Makefile.am	2012-01-08 16:05:53.000000000 +0100
-@@ -1337,12 +1337,7 @@
+--- src/Makefile.am.orig	2012-04-02 08:04:58.000000000 +0000
++++ src/Makefile.am	2012-11-23 22:01:15.169498221 +0000
+@@ -63,7 +63,7 @@
+ collectd_LDADD += -lpthread
+ endif
+ if BUILD_WITH_LIBKSTAT
+-collectd_LDADD += -lkstat
++collectd_LDADD += $(BUILD_WITH_LIBKSTAT_LIBS)
+ endif
+ if BUILD_WITH_LIBDEVINFO
+ collectd_LDADD += -ldevinfo
+@@ -224,7 +224,7 @@
+ cpu_la_LDFLAGS = -module -avoid-version
+ cpu_la_LIBADD = 
+ if BUILD_WITH_LIBKSTAT
+-cpu_la_LIBADD += -lkstat
++cpu_la_LIBADD += $(BUILD_WITH_LIBKSTAT_LIBS)
+ endif
+ if BUILD_WITH_LIBDEVINFO
+ cpu_la_LIBADD += -ldevinfo
+@@ -322,7 +322,7 @@
+ disk_la_LDFLAGS = -module -avoid-version
+ disk_la_LIBADD = 
+ if BUILD_WITH_LIBKSTAT
+-disk_la_LIBADD += -lkstat
++disk_la_LIBADD += $(BUILD_WITH_LIBKSTAT_LIBS)
+ endif
+ if BUILD_WITH_LIBDEVINFO
+ disk_la_LIBADD += -ldevinfo
+@@ -429,7 +429,7 @@
+ interface_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS)
+ else
+ if BUILD_WITH_LIBKSTAT
+-interface_la_LIBADD += -lkstat
++interface_la_LIBADD += $(BUILD_WITH_LIBKSTAT_LIBS)
+ endif
+ if BUILD_WITH_LIBDEVINFO
+ interface_la_LIBADD += -ldevinfo
+@@ -634,7 +634,7 @@
+ collectd_LDADD += "-dlopen" memory.la
+ collectd_DEPENDENCIES += memory.la
+ if BUILD_WITH_LIBKSTAT
+-memory_la_LIBADD += -lkstat
++memory_la_LIBADD += $(BUILD_WITH_LIBKSTAT_LIBS)
+ endif
+ if BUILD_WITH_LIBDEVINFO
+ memory_la_LIBADD += -ldevinfo
+@@ -1021,7 +1021,7 @@
+ collectd_LDADD += "-dlopen" swap.la
+ collectd_DEPENDENCIES += swap.la
+ if BUILD_WITH_LIBKSTAT
+-swap_la_LIBADD += -lkstat
++swap_la_LIBADD += $(BUILD_WITH_LIBKSTAT_LIBS)
+ endif
+ if BUILD_WITH_LIBDEVINFO
+ swap_la_LIBADD += -ldevinfo
+@@ -1067,7 +1067,7 @@
+ pkglib_LTLIBRARIES += tape.la
+ tape_la_SOURCES = tape.c
+ tape_la_LDFLAGS = -module -avoid-version
+-tape_la_LIBADD = -lkstat -ldevinfo
++tape_la_LIBADD = $(BUILD_WITH_LIBKSTAT_LIBS) -ldevinfo
+ collectd_LDADD += "-dlopen" tape.la
+ collectd_DEPENDENCIES += tape.la
+ endif
+@@ -1190,7 +1190,7 @@
+ uptime_la_LDFLAGS = -module -avoid-version
+ uptime_la_LIBADD =
+ if BUILD_WITH_LIBKSTAT
+-uptime_la_LIBADD += -lkstat
++uptime_la_LIBADD += $(BUILD_WITH_LIBKSTAT_LIBS)
+ endif
+ collectd_LDADD += "-dlopen" uptime.la
+ collectd_DEPENDENCIES += uptime.la
+@@ -1313,7 +1313,7 @@
+ zfs_arc_la_SOURCES = zfs_arc.c
+ zfs_arc_la_CFLAGS = $(AM_CFLAGS)
+ zfs_arc_la_LDFLAGS = -module -avoid-version
+-zfs_arc_la_LIBADD = -lkstat
++zfs_arc_la_LIBADD = $(BUILD_WITH_LIBKSTAT_LIBS)
+ collectd_LDADD += "-dlopen" zfs_arc.la
+ collectd_DEPENDENCIES += zfs_arc.la
+ endif
+@@ -1374,12 +1374,7 @@
  
  install-exec-hook:
  	$(mkinstalldirs) $(DESTDIR)$(sysconfdir)
diff -Nru /usr/ports/net-mgmt/collectd5/files/patch-src__zfs_arc.c freebsd-collectd5-port/files/patch-src__zfs_arc.c
--- /usr/ports/net-mgmt/collectd5/files/patch-src__zfs_arc.c	1970-01-01 00:00:00.000000000 +0000
+++ freebsd-collectd5-port/files/patch-src__zfs_arc.c	2012-11-24 17:58:06.207128973 +0000
@@ -0,0 +1,232 @@
+--- src/zfs_arc.c.orig	2012-04-02 08:04:58.000000000 +0000
++++ src/zfs_arc.c	2012-11-24 17:54:21.715129054 +0000
+@@ -25,11 +25,57 @@
+ #include "common.h"
+ #include "plugin.h"
+ 
++#if !defined(HAVE_LIBKSTAT) && defined(HAVE_SYSCTLBYNAME)
++#include <sys/sysctl.h>
++#endif
++
+ /*
+  * Global variables
+  */
+-static kstat_t *ksp;
++#if defined(HAVE_LIBKSTAT)
+ extern kstat_ctl_t *kc;
++#endif
++
++/*
++ * Context
++ */
++struct za_context {
++#if defined(HAVE_LIBKSTAT)
++    kstat_t *ksp;
++#endif
++};
++
++static int za_init_context(struct za_context *ctx)
++{
++#if defined(HAVE_LIBKSTAT)
++	get_kstat (&ctx->ksp, "zfs", 0, "arcstats");
++	if (ctx->ksp == NULL)
++	{
++		ERROR ("zfs_arc plugin: Cannot find zfs:0:arcstats kstat.");
++		return (-1);
++	}
++#endif
++	return 0;
++}
++
++static long long za_get_value(struct za_context *ctx, const char* name)
++{
++#if defined(HAVE_LIBKSTAT)
++	return get_kstat_value(ctx->ksp, name);
++#elif defined(HAVE_SYSCTLBYNAME)
++	// kstat values are available on FreeBSD through sysctl
++	char fullname[512];
++	long long result = 0;
++	size_t size = sizeof(result);
++	ssnprintf(fullname, sizeof(fullname), "kstat.zfs.misc.arcstats.%s", name);
++	if (sysctlbyname(fullname, &result, &size, NULL, 0) != 0 || size != sizeof(result))
++	{
++		ERROR ("zfs_arc plugin: Cannot find stats using sysctl");
++		result = 0;
++	}
++	return result;
++#endif
++}
+ 
+ static void za_submit (const char* type, const char* type_instance, value_t* values, int values_len)
+ {
+@@ -54,13 +100,13 @@
+ 	za_submit (type, type_instance, &vv, 1);
+ }
+ 
+-static int za_read_derive (kstat_t *ksp, const char *kstat_value,
++static int za_read_derive (struct za_context *ctx, const char *kstat_value,
+     const char *type, const char *type_instance)
+ {
+   long long tmp;
+   value_t v;
+ 
+-  tmp = get_kstat_value (ksp, kstat_value);
++  tmp = za_get_value (ctx, (char *)kstat_value);
+   if (tmp == -1LL)
+   {
+     ERROR ("zfs_arc plugin: Reading kstat value \"%s\" failed.", kstat_value);
+@@ -69,15 +115,16 @@
+ 
+   v.derive = (derive_t) tmp;
+   za_submit (type, type_instance, /* values = */ &v, /* values_num = */ 1);
++  return (0);
+ }
+ 
+-static int za_read_gauge (kstat_t *ksp, const char *kstat_value,
++static int za_read_gauge (struct za_context *ctx, const char *kstat_value,
+     const char *type, const char *type_instance)
+ {
+   long long tmp;
+   value_t v;
+ 
+-  tmp = get_kstat_value (ksp, kstat_value);
++  tmp = za_get_value (ctx, (char *)kstat_value);
+   if (tmp == -1LL)
+   {
+     ERROR ("zfs_arc plugin: Reading kstat value \"%s\" failed.", kstat_value);
+@@ -86,18 +133,14 @@
+ 
+   v.gauge = (gauge_t) tmp;
+   za_submit (type, type_instance, /* values = */ &v, /* values_num = */ 1);
++  return (0);
+ }
+ 
+-static void za_submit_ratio (const char* type_instance, gauge_t hits, gauge_t misses)
++static void za_submit_ratio (const char* type_instance, long long hits, long long misses)
+ {
+ 	gauge_t ratio = NAN;
+ 
+-	if (!isfinite (hits) || (hits < 0.0))
+-		hits = 0.0;
+-	if (!isfinite (misses) || (misses < 0.0))
+-		misses = 0.0;
+-
+-	if ((hits != 0.0) || (misses != 0.0))
++	if ((hits > 0) || (misses > 0))
+ 		ratio = hits / (hits + misses);
+ 
+ 	za_submit_gauge ("cache_ratio", type_instance, ratio);
+@@ -105,56 +148,55 @@
+ 
+ static int za_read (void)
+ {
+-	gauge_t  arc_hits, arc_misses, l2_hits, l2_misses;
++	long long  arc_hits, arc_misses, l2_hits, l2_misses;
+ 	value_t  l2_io[2];
++	struct za_context ctx;
+ 
+-	get_kstat (&ksp, "zfs", 0, "arcstats");
+-	if (ksp == NULL)
++	if (za_init_context (&ctx) < 0)
+ 	{
+-		ERROR ("zfs_arc plugin: Cannot find zfs:0:arcstats kstat.");
+ 		return (-1);
+ 	}
+ 
+ 	/* Sizes */
+-	za_read_gauge (ksp, "size",    "cache_size", "arc");
+-	za_read_gauge (ksp, "l2_size", "cache_size", "L2");
++	za_read_gauge (&ctx, "size",    "cache_size", "arc");
++	za_read_gauge (&ctx, "l2_size", "cache_size", "L2");
+ 
+-        /* Operations */
+-	za_read_derive (ksp, "allocated","cache_operation", "allocated");
+-	za_read_derive (ksp, "deleted",  "cache_operation", "deleted");
+-	za_read_derive (ksp, "stolen",   "cache_operation", "stolen");
+-
+-        /* Issue indicators */
+-        za_read_derive (ksp, "mutex_miss", "mutex_operation", "miss");
+-	za_read_derive (ksp, "hash_collisions", "hash_collisions", "");
++	/* Operations */
++	za_read_derive (&ctx, "allocated","cache_operation", "allocated");
++	za_read_derive (&ctx, "deleted",  "cache_operation", "deleted");
++	za_read_derive (&ctx, "stolen",   "cache_operation", "stolen");
++
++	/* Issue indicators */
++	za_read_derive (&ctx, "mutex_miss", "mutex_operation", "miss");
++	za_read_derive (&ctx, "hash_collisions", "hash_collisions", "");
+ 	
+-        /* Evictions */
+-	za_read_derive (ksp, "evict_l2_cached",     "cache_eviction", "cached");
+-	za_read_derive (ksp, "evict_l2_eligible",   "cache_eviction", "eligible");
+-	za_read_derive (ksp, "evict_l2_ineligible", "cache_eviction", "ineligible");
++	/* Evictions */
++	za_read_derive (&ctx, "evict_l2_cached",     "cache_eviction", "cached");
++	za_read_derive (&ctx, "evict_l2_eligible",   "cache_eviction", "eligible");
++	za_read_derive (&ctx, "evict_l2_ineligible", "cache_eviction", "ineligible");
+ 
+ 	/* Hits / misses */
+-	za_read_derive (ksp, "demand_data_hits",         "cache_result", "demand_data-hit");
+-	za_read_derive (ksp, "demand_metadata_hits",     "cache_result", "demand_metadata-hit");
+-	za_read_derive (ksp, "prefetch_data_hits",       "cache_result", "prefetch_data-hit");
+-	za_read_derive (ksp, "prefetch_metadata_hits",   "cache_result", "prefetch_metadata-hit");
+-	za_read_derive (ksp, "demand_data_misses",       "cache_result", "demand_data-miss");
+-	za_read_derive (ksp, "demand_metadata_misses",   "cache_result", "demand_metadata-miss");
+-	za_read_derive (ksp, "prefetch_data_misses",     "cache_result", "prefetch_data-miss");
+-	za_read_derive (ksp, "prefetch_metadata_misses", "cache_result", "prefetch_metadata-miss");
++	za_read_derive (&ctx, "demand_data_hits",         "cache_result", "demand_data-hit");
++	za_read_derive (&ctx, "demand_metadata_hits",     "cache_result", "demand_metadata-hit");
++	za_read_derive (&ctx, "prefetch_data_hits",       "cache_result", "prefetch_data-hit");
++	za_read_derive (&ctx, "prefetch_metadata_hits",   "cache_result", "prefetch_metadata-hit");
++	za_read_derive (&ctx, "demand_data_misses",       "cache_result", "demand_data-miss");
++	za_read_derive (&ctx, "demand_metadata_misses",   "cache_result", "demand_metadata-miss");
++	za_read_derive (&ctx, "prefetch_data_misses",     "cache_result", "prefetch_data-miss");
++	za_read_derive (&ctx, "prefetch_metadata_misses", "cache_result", "prefetch_metadata-miss");
+ 
+ 	/* Ratios */
+-	arc_hits   = (gauge_t) get_kstat_value(ksp, "hits");
+-	arc_misses = (gauge_t) get_kstat_value(ksp, "misses");
+-	l2_hits    = (gauge_t) get_kstat_value(ksp, "l2_hits");
+-	l2_misses  = (gauge_t) get_kstat_value(ksp, "l2_misses");
++	arc_hits   = za_get_value (&ctx, "hits");
++	arc_misses = za_get_value (&ctx, "misses");
++	l2_hits    = za_get_value (&ctx, "l2_hits");
++	l2_misses  = za_get_value (&ctx, "l2_misses");
+ 
+ 	za_submit_ratio ("arc", arc_hits, arc_misses);
+ 	za_submit_ratio ("L2", l2_hits, l2_misses);
+ 
+ 	/* I/O */
+-	l2_io[0].derive = get_kstat_value(ksp, "l2_read_bytes");
+-	l2_io[1].derive = get_kstat_value(ksp, "l2_write_bytes");
++	l2_io[0].derive = za_get_value (&ctx, "l2_read_bytes");
++	l2_io[1].derive = za_get_value (&ctx, "l2_write_bytes");
+ 
+ 	za_submit ("io_octets", "L2", l2_io, /* num values = */ 2);
+ 
+@@ -163,14 +205,23 @@
+ 
+ static int za_init (void) /* {{{ */
+ {
+-	ksp = NULL;
+-
++#if defined(HAVE_LIBKSTAT)
+ 	/* kstats chain already opened by update_kstat (using *kc), verify everything went fine. */
+ 	if (kc == NULL)
+ 	{
+ 		ERROR ("zfs_arc plugin: kstat chain control structure not available.");
+ 		return (-1);
+ 	}
++#elif defined(HAVE_SYSCTLBYNAME)
++	/* make sure ARC is available (arc_size is not null) */
++	unsigned long long arc_size;
++	size_t size = sizeof(arc_size);
++	if (sysctlbyname("kstat.zfs.misc.arcstats.size", &arc_size, &size, NULL, 0) != 0 || arc_size == 0)
++	{
++		ERROR ("zfs_arc plugin: could not get ARC size using sysctl, is ARC enabled?");
++		return (-1);
++	}
++#endif
+ 
+ 	return (0);
+ } /* }}} int za_init */
diff -Nru /usr/ports/net-mgmt/collectd5/pkg-plist freebsd-collectd5-port/pkg-plist
--- /usr/ports/net-mgmt/collectd5/pkg-plist	2012-09-13 13:04:44.000000000 +0000
+++ freebsd-collectd5-port/pkg-plist	2012-11-24 17:58:06.465128352 +0000
@@ -103,12 +103,16 @@
 lib/collectd/unixsock.so
 lib/collectd/uptime.la
 lib/collectd/uptime.so
+lib/collectd/users.la
+lib/collectd/users.so
 lib/collectd/uuid.la
 lib/collectd/uuid.so
 %%VIRT%%lib/collectd/libvirt.la
 %%VIRT%%lib/collectd/libvirt.so
-lib/collectd/write_graphite.so
-lib/collectd/write_graphite.la
+%%WRITE_GRAPHITE%%lib/collectd/write_graphite.so
+%%WRITE_GRAPHITE%%lib/collectd/write_graphite.la
+lib/collectd/zfs_arc.la
+lib/collectd/zfs_arc.so
 lib/libcollectdclient.la
 lib/libcollectdclient.so
 lib/libcollectdclient.so.0
--- collectd5.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201211241830.qAOIUDtd031217>