ports/189769: Update collectd to pass staging
Krzysztof Stryjek
ports at bsdserwis.com
Wed May 21 07:40:01 UTC 2014
The following reply was made to PR ports/189769; it has been noted by GNATS.
From: Krzysztof Stryjek <ports at bsdserwis.com>
To: bug-followup at FreeBSD.org
Cc:
Subject: Re: ports/189769: Update collectd to pass staging
Date: Wed, 21 May 2014 09:35:23 +0200
--10jrOL3x2xqLmOsH
Content-Type: text/plain; charset=iso-8859-2
Content-Disposition: inline
Hello,
On Tue, May 13, 2014 at 01:50:00PM +0000, FreeBSD-gnats-submit at FreeBSD.org wrote:
> Thank you very much for your problem report.
> It has the internal identification `ports/189769'.
> The individual assigned to look at your
> report is: freebsd-ports-bugs.
>
> You can access the state of your problem report at any time
> via this link:
>
> http://www.freebsd.org/cgi/query-pr.cgi?pr=189769
>
> >Category: ports
> >Responsible: freebsd-ports-bugs
> >Synopsis: Update collectd to pass staging
> >Arrival-Date: Tue May 13 13:50:00 UTC 2014
I've made a small change to pass staging, so this patch is better.
Greetings,
--
Krzysztof Stryjek
UNIX administrator/Juniper Networks Specialist
email: wtp (at) bsdserwis (dot) com
http://www.linkedin.com/in/KrzysztofStryjek
GPG fingerprint: 8BD7 40CE 8994 0BBE CE6C 91CD 1292 8959 DC61 0E76
In theory, there is no difference between theory and practice.
In practice, there is.
--10jrOL3x2xqLmOsH
Content-Type: text/x-diff; charset=iso-8859-2
Content-Description: patch.txt
Content-Disposition: attachment; filename="collectd-staging.patch"
diff -ruN collectd/Makefile collectd.new/Makefile
--- collectd/Makefile 2014-05-13 00:07:39.000000000 +0200
+++ collectd.new/Makefile 2014-05-19 15:37:01.000000000 +0200
@@ -3,7 +3,7 @@
PORTNAME= collectd
PORTVERSION= 4.10.9
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= net-mgmt
MASTER_SITES= http://collectd.org/files/
@@ -12,11 +12,13 @@
LICENSE= GPLv2
-USE_GMAKE= yes
+USES= gmake libtool
GNU_CONFIGURE= yes
USE_AUTOTOOLS= autoconf autoheader automake libltdl
WANT_GNOME= yes
+COLLECTD_DBDIR= /var/db/${PORTNAME}
+
OPTIONS_DEFINE= CGI BIND DEBUG GCRYPT LIBVIRT
OPTIONS_GROUP= INPUT OUTPUT
OPTIONS_GROUP_OUTPUT= RRDTOOL RRDCACHED WRITE_HTTP NOTIFYEMAIL NOTIFYDESKTOP
@@ -54,10 +56,6 @@
RRDCACHED_DESC= RRDTool Cached (require RRDTOOL)
WRITE_HTTP_DESC= write_http
-MAN1= collectd.1 collectd-nagios.1 collectdmon.1
-MAN5= collectd.conf.5 collectd-email.5 collectd-exec.5 \
- collectd-snmp.5 collectd-unixsock.5 collectd-perl.5 \
- collectd-java.5 collectd-python.5 types.db.5
USE_RC_SUBR= collectd collectdmon
USE_LDCONFIG= yes
@@ -67,7 +65,6 @@
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
-NO_STAGE= yes
.include <bsd.port.options.mk>
# NOTE: Feel free to submit patches adding support for any of these
@@ -153,8 +150,8 @@
.if ${PORT_OPTIONS:MBIND}
CONFIGURE_ARGS+=--enable-bind
-LIB_DEPENDS+= curl:${PORTSDIR}/ftp/curl
-LIB_DEPENDS+= xml2:${PORTSDIR}/textproc/libxml2
+BIND_LIB_DEPENDS+= curl:${PORTSDIR}/ftp/curl
+BIND_LIB_DEPENDS+= xml2:${PORTSDIR}/textproc/libxml2
PLIST_SUB+= BIND=""
. if empty(PORT_OPTIONS:MCURL)
IGNORE= BIND requires CURL. Either select CURL or deselect BIND
@@ -166,7 +163,7 @@
.if ${PORT_OPTIONS:MAPACHE}
CONFIGURE_ARGS+=--enable-apache
-LIB_DEPENDS+= curl:${PORTSDIR}/ftp/curl
+APACHE_LIB_DEPENDS+= curl:${PORTSDIR}/ftp/curl
PLIST_SUB+= APACHE=""
. if empty(PORT_OPTIONS:MCURL)
IGNORE= APACHE requires CURL. Either select CURL or deselect APACHE
@@ -187,7 +184,7 @@
.if ${PORT_OPTIONS:MCURL}
CONFIGURE_ARGS+=--enable-curl --with-libcurl=${LOCALBASE}
-LIB_DEPENDS+= curl:${PORTSDIR}/ftp/curl
+CURL_LIB_DEPENDS+= curl:${PORTSDIR}/ftp/curl
PLIST_SUB+= CURL=""
.else
CONFIGURE_ARGS+=--disable-curl
@@ -199,7 +196,7 @@
IGNORE= using CURL_JSON requires CURL support
.endif
CONFIGURE_ARGS+=--enable-curl_json
-LIB_DEPENDS+= yajl:${PORTSDIR}/devel/yajl
+CURL_JSON_LIB_DEPENDS+= yajl:${PORTSDIR}/devel/yajl
PLIST_SUB+= CURL_JSON=""
.else
CONFIGURE_ARGS+=--disable-curl_json --without-libyajl
@@ -211,7 +208,7 @@
IGNORE= using CURL_XML requires CURL support
.endif
CONFIGURE_ARGS+=--enable-curl_xml
-LIB_DEPENDS+= xml2:${PORTSDIR}/textproc/libxml2
+CURL_XML_LIB_DEPENDS+= xml2:${PORTSDIR}/textproc/libxml2
PLIST_SUB+= CURL_XML=""
.else
CONFIGURE_ARGS+=--disable-curl_xml
@@ -220,7 +217,7 @@
.if ${PORT_OPTIONS:MDBI}
CONFIGURE_ARGS+=--enable-dbi --with-libdbi=${LOCALBASE}
-LIB_DEPENDS+= dbi:${PORTSDIR}/databases/libdbi
+DBI_LIB_DEPENDS+= dbi:${PORTSDIR}/databases/libdbi
PLIST_SUB+= DBI=""
.else
CONFIGURE_ARGS+=--disable-dbi
@@ -237,12 +234,12 @@
.if ${PORT_OPTIONS:MGCRYPT}
CONFIGURE_ARGS+=--with-libgcrypt-prefix=${LOCALBASE}
-LIB_DEPENDS+= gcrypt:${PORTSDIR}/security/libgcrypt
+GCRYPT_LIB_DEPENDS+= gcrypt:${PORTSDIR}/security/libgcrypt
.endif
.if ${PORT_OPTIONS:MNUTUPS}
CONFIGURE_ARGS+=--enable-nut --with-upsclient
-LIB_DEPENDS+= upsclient:${PORTSDIR}/sysutils/nut
+NUTUPS_LIB_DEPENDS+= upsclient:${PORTSDIR}/sysutils/nut
PLIST_SUB+= NUTUPS=""
.else
CONFIGURE_ARGS+=--disable-nut --without-libupsclient
@@ -252,7 +249,7 @@
.if ${PORT_OPTIONS:MINTERFACE}
USES+= pkgconfig
CONFIGURE_ARGS+=--enable-interface
-LIB_DEPENDS+= libstatgrab.so:${PORTSDIR}/devel/libstatgrab
+INTERFACE_LIB_DEPENDS+= libstatgrab.so:${PORTSDIR}/devel/libstatgrab
PLIST_SUB+= INTERFACE=""
CONFIGURE_ENV+= LIBS="`pkg-config --libs libstatgrab`"
.else
@@ -270,7 +267,7 @@
.endif
.if ${PORT_OPTIONS:MMEMCACHED}
-LIB_DEPENDS+= memcached:${PORTSDIR}/databases/libmemcached
+MEMCACHED_LIB_DEPENDS+= memcached:${PORTSDIR}/databases/libmemcached
CONFIGURE_ARGS+=--enable-memcached
CONFIGURE_ARGS+=--with-libmemcached=${LOCALBASE}
PLIST_SUB+= MEMCACHED=""
@@ -289,7 +286,7 @@
.endif
.if ${PORT_OPTIONS:MNGINX}
-LIB_DEPENDS+= curl:${PORTSDIR}/ftp/curl
+NGINX_LIB_DEPENDS+= curl:${PORTSDIR}/ftp/curl
CONFIGURE_ARGS+=--enable-nginx
PLIST_SUB+= NGINX=""
. if empty(PORT_OPTIONS:MCURL)
@@ -301,15 +298,16 @@
.endif
.if ${PORT_OPTIONS:MNOTIFYDESKTOP}
-LIB_DEPENDS+= notify:${PORTSDIR}/devel/libnotify
+NOTIFYDESKTOP_LIB_DEPENDS+= notify:${PORTSDIR}/devel/libnotify
CONFIGURE_ARGS+=--enable-notify_desktop \
PLIST_SUB+= NOTIFYDESKTOP=""
.else
CONFIGURE_ARGS+=--disable-notify_desktop
PLIST_SUB+= NOTIFYDESKTOP="@comment "
.endif
+
.if ${PORT_OPTIONS:MNOTIFYEMAIL}
-LIB_DEPENDS+= esmtp:${PORTSDIR}/mail/libesmtp
+NOTIFYEMAIL_LIB_DEPENDS+= esmtp:${PORTSDIR}/mail/libesmtp
CONFIGURE_ARGS+=--enable-notify_email
CONFIGURE_ARGS+=--with-libesmtp=${PREFIX}
PLIST_SUB+= NOTIFYEMAIL=""
@@ -346,7 +344,7 @@
.endif
.if ${PORT_OPTIONS:MPING}
-LIB_DEPENDS+= oping:${PORTSDIR}/net/liboping
+PING_LIB_DEPENDS+= oping:${PORTSDIR}/net/liboping
CONFIGURE_ARGS+=--enable-ping
PLIST_SUB+= PING=""
.else
@@ -364,7 +362,7 @@
.endif
.if ${PORT_OPTIONS:MROUTEROS}
-LIB_DEPENDS+= routeros:${PORTSDIR}/net/librouteros
+ROUTEROS_LIB_DEPENDS+= routeros:${PORTSDIR}/net/librouteros
CONFIGURE_ARGS+=--enable-routeros --with-librouteros=${LOCALBASE}
PLIST_SUB+= ROUTEROS=""
.else
@@ -373,7 +371,7 @@
.endif
.if ${PORT_OPTIONS:MRRDTOOL}
-LIB_DEPENDS+= rrd:${PORTSDIR}/databases/rrdtool
+RRDTOOL_LIB_DEPENDS+= rrd:${PORTSDIR}/databases/rrdtool
CONFIGURE_ARGS+=--enable-rrdtool
PLIST_SUB+= RRD=""
.else
@@ -390,7 +388,7 @@
.endif
.if ${PORT_OPTIONS:MSNMP}
-LIB_DEPENDS+= netsnmp:${PORTSDIR}/net-mgmt/net-snmp
+SNMP_LIB_DEPENDS+= netsnmp:${PORTSDIR}/net-mgmt/net-snmp
CONFIGURE_ARGS+=--enable-snmp
PLIST_SUB+= SNMP=""
.else
@@ -399,7 +397,7 @@
.endif
.if ${PORT_OPTIONS:MTOKYOTYRANT}
-LIB_DEPENDS+= tokyotyrant:${PORTSDIR}/databases/tokyotyrant
+TOKYOTYRANT_LIB_DEPENDS+= tokyotyrant:${PORTSDIR}/databases/tokyotyrant
CONFIGURE_ARGS+=--enable-tokyotyrant
CONFIGURE_ARGS+=--with-libtokyotyrant=${LOCALBASE}
PLIST_SUB+= TOKYOTYRANT=""
@@ -410,7 +408,7 @@
.if ${PORT_OPTIONS:MLIBVIRT}
CONFIGURE_ARGS+=--enable-libvirt
-LIB_DEPENDS+= libvirt.so:${PORTSDIR}/devel/libvirt
+LIBVIRT_LIB_DEPENDS+= libvirt.so:${PORTSDIR}/devel/libvirt
PLIST_SUB+= VIRT=""
.else
CONFIGURE_ARGS+=--disable-libvirt
@@ -426,7 +424,7 @@
.endif
.if ${PORT_OPTIONS:MXMMS}
-LIB_DEPENDS+= xmms:${PORTSDIR}/multimedia/xmms
+XMMS_LIB_DEPENDS+= xmms:${PORTSDIR}/multimedia/xmms
CONFIGURE_ARGS+=--enable-xmms
CFLAGS+= `xmms-config --cflags`
PLIST_SUB+= XMMS=""
@@ -458,19 +456,16 @@
${WRKSRC}/configure.in
post-install:
- ${MKDIR} /var/db/collectd
- if [ ! -f ${PREFIX}/etc/collectd.conf ]; then \
- ${CP} -p ${PREFIX}/etc/collectd.conf.sample \
- ${PREFIX}/etc/collectd.conf ; \
- fi
+ ${MKDIR} ${STAGEDIR}${COLLECTD_DBDIR}
+
.if ${PORT_OPTIONS:MCGI}
- ${MKDIR} ${WWWDIR}
- ${INSTALL_SCRIPT} ${WRKSRC}/contrib/collection.cgi ${WWWDIR}/
+ ${MKDIR} ${STAGEDIR}${WWWDIR}
+ ${INSTALL_SCRIPT} ${WRKSRC}/contrib/collection.cgi ${STAGEDIR}${WWWDIR}/
${INSTALL_DATA} ${WRKSRC}/contrib/collection.conf \
- ${WWWDIR}/collection.conf.sample
- if [ ! -f ${WWWDIR}/collection.conf ]; then \
- ${CP} -p ${WWWDIR}/collection.conf.sample \
- ${WWWDIR}/collection.conf ; \
+ ${STAGEDIR}${WWWDIR}/collection.conf.sample
+ if [ ! -f ${STAGEDIR}${WWWDIR}/collection.conf ]; then \
+ ${CP} -p ${STAGEDIR}${WWWDIR}/collection.conf.sample \
+ ${STAGEDIR}${WWWDIR}/collection.conf ; \
fi
.endif
diff -ruN collectd/files/files.new/collectd.in collectd.new/files/files.new/collectd.in
--- collectd/files/files.new/collectd.in 1970-01-01 01:00:00.000000000 +0100
+++ collectd.new/files/files.new/collectd.in 2014-01-24 01:14:07.000000000 +0100
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+# PROVIDE: collectd
+# REQUIRE: LOGIN
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# collectd_enable (bool): Set to NO by default.
+# Set it to YES to enable collectd.
+# collectd_flags (string): Set to "" by default.
+# Additional flags to collectd, see manual page.
+#
+
+. /etc/rc.subr
+
+name="collectd"
+rcvar=collectd_enable
+
+command=%%PREFIX%%/sbin/${name}
+
+load_rc_config $name
+
+: ${collectd_enable="NO"}
+
+run_rc_command "$1"
diff -ruN collectd/files/files.new/collectdmon.in collectd.new/files/files.new/collectdmon.in
--- collectd/files/files.new/collectdmon.in 1970-01-01 01:00:00.000000000 +0100
+++ collectd.new/files/files.new/collectdmon.in 2014-01-24 01:14:07.000000000 +0100
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+# PROVIDE: collectdmon
+# REQUIRE: LOGIN
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# collectdmon_enable (bool): Set to NO by default.
+# Set it to YES to enable collectd.
+# collectdmon_flags (string): Set to "-c %%PREFIX%%/sbin/collectd" by default.
+# Additional flags to collectdmon, see manual page.
+#
+
+. /etc/rc.subr
+
+name="collectdmon"
+rcvar=collectdmon_enable
+
+command=%%PREFIX%%/sbin/${name}
+
+load_rc_config $name
+
+: ${collectdmon_enable="NO"}
+: ${collectdmon_flags="-c %%PREFIX%%/sbin/collectd"}
+
+run_rc_command "$1"
diff -ruN collectd/files/files.new/patch-Makefile.am collectd.new/files/files.new/patch-Makefile.am
--- collectd/files/files.new/patch-Makefile.am 1970-01-01 01:00:00.000000000 +0100
+++ collectd.new/files/files.new/patch-Makefile.am 2014-05-11 01:42:32.000000000 +0200
@@ -0,0 +1,11 @@
+--- Makefile.am.orig 2013-04-08 08:26:17.000000000 +0200
++++ Makefile.am 2014-05-11 01:41:55.450743331 +0200
+@@ -8,7 +8,7 @@
+
+ install-exec-hook:
+ $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run
+- $(mkinstalldirs) $(DESTDIR)$(localstatedir)/lib/$(PACKAGE_NAME)
++ $(mkinstalldirs) $(DESTDIR)$(localstatedir)/db/$(PACKAGE_NAME)
+ $(mkinstalldirs) $(DESTDIR)$(localstatedir)/log
+
+ maintainer-clean-local:
diff -ruN collectd/files/files.new/patch-configure.in collectd.new/files/files.new/patch-configure.in
--- collectd/files/files.new/patch-configure.in 1970-01-01 01:00:00.000000000 +0100
+++ collectd.new/files/files.new/patch-configure.in 2014-01-22 18:40:44.000000000 +0100
@@ -0,0 +1,71 @@
+--- configure.in.orig 2012-11-11 11:43:05.000000000 +0100
++++ configure.in 2012-12-30 23:49:30.000000000 +0100
+@@ -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.
+-pkgconfigdir="${libdir}/pkgconfig"
++pkgconfigdir="${prefix}/libdata/pkgconfig"
+ AC_SUBST(pkgconfigdir)
+
+ # Check for standards compliance mode
+@@ -1200,6 +1203,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")
+@@ -1562,9 +1567,6 @@
+ [with_libgcrypt="yes"],
+ [with_libgcrypt="no (symbol gcry_md_hash_buffer not found)"])
+
+- if test "$with_libgcrypt" != "no"; then
+- AM_PATH_LIBGCRYPT(1:1.2.0,,with_libgcrypt="no (version 1.2.0+ required)")
+- fi
+ fi
+
+ CPPFLAGS="$SAVE_CPPFLAGS"
+@@ -3059,7 +3061,7 @@
+ 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_var(\"LINKFORSHARED\")+\" -L\"+distutils.sysconfig.get_config_vars(\"LIBDIR\").__getitem__(0)+\" -l\"+distutils.sysconfig.get_config_vars(\"BLDLIBRARY\").__getitem__(0).replace(\"lib\", \"\").replace(\".a\", \"\"))" | "$with_python_prog" 2>&1`
+ python_config_status=$?
+
+ if test "$python_config_status" -ne 0 || test "x$python_library_flags" = "x"
+@@ -3074,7 +3076,7 @@
+ 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"],
+@@ -4171,6 +4173,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 -ruN collectd/files/files.new/patch-src__Makefile.am collectd.new/files/files.new/patch-src__Makefile.am
--- collectd/files/files.new/patch-src__Makefile.am 1970-01-01 01:00:00.000000000 +0100
+++ collectd.new/files/files.new/patch-src__Makefile.am 2014-05-10 23:36:37.000000000 +0200
@@ -0,0 +1,50 @@
+--- src/Makefile.am.orig 2013-04-08 08:26:17.000000000 +0200
++++ src/Makefile.am 2014-05-10 23:35:22.688748454 +0200
+@@ -7,13 +7,13 @@
+ endif
+
+ if COMPILER_IS_GCC
+-AM_CFLAGS = -Wall -Werror
++AM_CFLAGS = -Wall
+ endif
+
+ AM_CPPFLAGS = -DPREFIX='"${prefix}"'
+ AM_CPPFLAGS += -DCONFIGFILE='"${sysconfdir}/${PACKAGE_NAME}.conf"'
+ AM_CPPFLAGS += -DLOCALSTATEDIR='"${localstatedir}"'
+-AM_CPPFLAGS += -DPKGLOCALSTATEDIR='"${localstatedir}/lib/${PACKAGE_NAME}"'
++AM_CPPFLAGS += -DPKGLOCALSTATEDIR='"${localstatedir}/db/${PACKAGE_NAME}"'
+ if BUILD_FEATURE_DAEMON
+ AM_CPPFLAGS += -DPIDFILE='"${localstatedir}/run/${PACKAGE_NAME}.pid"'
+ endif
+@@ -720,7 +720,7 @@
+ pkglib_LTLIBRARIES += notify_email.la
+ notify_email_la_SOURCES = notify_email.c
+ notify_email_la_LDFLAGS = -module -avoid-version
+-notify_email_la_LIBADD = -lesmtp -lssl -lcrypto -lpthread -ldl
++notify_email_la_LIBADD = -lesmtp -lssl -lcrypto -lpthread
+ collectd_LDADD += "-dlopen" notify_email.la
+ collectd_DEPENDENCIES += notify_email.la
+ endif
+@@ -1198,7 +1198,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
+@@ -1257,12 +1257,7 @@
+
+ install-exec-hook:
+ $(mkinstalldirs) $(DESTDIR)$(sysconfdir)
+- if test -e $(DESTDIR)$(sysconfdir)/collectd.conf; \
+- then \
+- $(INSTALL) -m 0640 collectd.conf $(DESTDIR)$(sysconfdir)/collectd.conf.pkg-orig; \
+- else \
+- $(INSTALL) -m 0640 collectd.conf $(DESTDIR)$(sysconfdir)/collectd.conf; \
+- fi; \
++ $(INSTALL) -m 0640 collectd.conf $(DESTDIR)$(sysconfdir)/collectd.conf.sample
+ $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
+ $(INSTALL) -m 0644 $(srcdir)/types.db $(DESTDIR)$(pkgdatadir)/types.db;
+ $(INSTALL) -m 0644 $(srcdir)/postgresql_default.conf \
diff -ruN collectd/files/files.new/patch-src__collectd.c collectd.new/files/files.new/patch-src__collectd.c
--- collectd/files/files.new/patch-src__collectd.c 1970-01-01 01:00:00.000000000 +0100
+++ collectd.new/files/files.new/patch-src__collectd.c 2014-05-13 00:07:39.000000000 +0200
@@ -0,0 +1,11 @@
+--- ./src/collectd.c.orig 2013-11-23 22:04:05.130103822 +0000
++++ ./src/collectd.c 2013-11-23 22:04:25.627104708 +0000
+@@ -294,7 +294,7 @@
+ #endif
+
+ #if HAVE_LIBSTATGRAB
+- if (sg_init ())
++ if (sg_init (0))
+ {
+ ERROR ("sg_init: %s", sg_str_error (sg_get_error ()));
+ return (-1);
diff -ruN collectd/files/files.new/patch-src__collectd.h collectd.new/files/files.new/patch-src__collectd.h
--- collectd/files/files.new/patch-src__collectd.h 1970-01-01 01:00:00.000000000 +0100
+++ collectd.new/files/files.new/patch-src__collectd.h 2014-05-10 21:22:03.000000000 +0200
@@ -0,0 +1,21 @@
+--- src/collectd.h.orig 2013-04-08 08:26:17.000000000 +0200
++++ src/collectd.h 2014-05-10 21:21:30.087755249 +0200
+@@ -244,15 +244,15 @@
+ #endif
+
+ #ifndef LOCALSTATEDIR
+-#define LOCALSTATEDIR PREFIX "/var"
++#define LOCALSTATEDIR "/var"
+ #endif
+
+ #ifndef PKGLOCALSTATEDIR
+-#define PKGLOCALSTATEDIR PREFIX "/var/lib/" PACKAGE_NAME
++#define PKGLOCALSTATEDIR "/var/db/" PACKAGE_NAME
+ #endif
+
+ #ifndef PIDFILE
+-#define PIDFILE PREFIX "/var/run/" PACKAGE_NAME ".pid"
++#define PIDFILE "/var/run/" PACKAGE_NAME ".pid"
+ #endif
+
+ #ifndef PLUGINDIR
diff -ruN collectd/files/files.new/patch-src__disk.c collectd.new/files/files.new/patch-src__disk.c
--- collectd/files/files.new/patch-src__disk.c 1970-01-01 01:00:00.000000000 +0100
+++ collectd.new/files/files.new/patch-src__disk.c 2014-05-13 00:07:39.000000000 +0200
@@ -0,0 +1,12 @@
+--- ./src/disk.c.orig 2013-11-23 22:36:13.757103756 +0000
++++ ./src/disk.c 2013-11-23 22:36:15.058103844 +0000
+@@ -691,7 +691,8 @@
+
+ #elif defined(HAVE_LIBSTATGRAB)
+ sg_disk_io_stats *ds;
+- int disks, counter;
++ size_t disks;
++ int counter;
+ char name[DATA_MAX_NAME_LEN];
+
+ if ((ds = sg_get_disk_io_stats(&disks)) == NULL)
diff -ruN collectd/files/files.new/patch-src__dns.c collectd.new/files/files.new/patch-src__dns.c
--- collectd/files/files.new/patch-src__dns.c 1970-01-01 01:00:00.000000000 +0100
+++ collectd.new/files/files.new/patch-src__dns.c 2014-01-22 18:40:44.000000000 +0100
@@ -0,0 +1,18 @@
+--- src/dns.c.orig 2008-09-05 15:26:02.000000000 +0000
++++ src/dns.c 2008-09-05 15:25:55.000000000 +0000
+@@ -210,6 +210,15 @@
+ pthread_sigmask (SIG_SETMASK, &sigmask, NULL);
+ }
+
++ /* Check for pcap_device, if needed */
++#ifdef __sparc64__
++ if (pcap_device == NULL)
++ {
++ ERROR ("dns plugin: Interface required");
++ return (NULL);
++ }
++#endif
++
+ /* Passing `pcap_device == NULL' is okay and the same as passign "any" */
+ DEBUG ("Creating PCAP object..");
+ pcap_obj = pcap_open_live (pcap_device,
diff -ruN collectd/files/files.new/patch-src__zfs_arc.c collectd.new/files/files.new/patch-src__zfs_arc.c
--- collectd/files/files.new/patch-src__zfs_arc.c 1970-01-01 01:00:00.000000000 +0100
+++ collectd.new/files/files.new/patch-src__zfs_arc.c 2013-02-28 16:33:25.000000000 +0100
@@ -0,0 +1,270 @@
+--- src/zfs_arc.c.orig 2012-11-11 11:43:05.000000000 +0100
++++ src/zfs_arc.c 2013-02-26 15:29:15.297851681 +0100
+@@ -23,11 +23,58 @@
+ #include "common.h"
+ #include "plugin.h"
+
++#if !defined(HAVE_LIBKSTAT) && defined(HAVE_SYSCTLBYNAME)
++#include <sys/sysctl.h>
++#endif
++
+ /*
+ * Global variables
+ */
+
+-extern kstat_ctl_t *kc;
++#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)
+ {
+@@ -46,112 +93,136 @@
+
+ static void za_submit_gauge (const char* type, const char* type_instance, gauge_t value)
+ {
+- value_t values[1];
++ value_t vv;
+
+- values[0].gauge = value;
++ vv.gauge = value;
+
+- za_submit (type, type_instance, values, STATIC_ARRAY_SIZE(values));
++ za_submit (type, type_instance, &vv, 1);
+ }
+
+-static void za_submit_size (gauge_t size, gauge_t size_target, gauge_t limit_min, gauge_t limit_max)
++static int za_read_derive (struct za_context *ctx, const char *kstat_value,
++ const char *type, const char *type_instance)
+ {
+- value_t values[4];
++ long long tmp;
++ value_t v;
+
+- values[0].gauge = size;
+- values[1].gauge = size_target;
+- values[2].gauge = limit_min;
+- values[3].gauge = limit_max;
++ tmp = za_get_value (ctx, (char *)kstat_value);
++ if (tmp == -1LL)
++ {
++ ERROR ("zfs_arc plugin: Reading kstat value \"%s\" failed.", kstat_value);
++ return (-1);
++ }
+
+- za_submit ("arc_size", "", values, STATIC_ARRAY_SIZE(values));
++ v.derive = (derive_t) tmp;
++ za_submit (type, type_instance, /* values = */ &v, /* values_num = */ 1);
++ return (0);
+ }
+
+-static void za_submit_bytes (counter_t read, counter_t write)
++static int za_read_gauge (struct za_context *ctx, const char *kstat_value,
++ const char *type, const char *type_instance)
+ {
+- value_t values[2];
++ long long tmp;
++ value_t v;
+
+- values[0].counter = read;
+- values[1].counter = write;
++ tmp = za_get_value (ctx, (char *)kstat_value);
++ if (tmp == -1LL)
++ {
++ ERROR ("zfs_arc plugin: Reading kstat value \"%s\" failed.", kstat_value);
++ return (-1);
++ }
+
+- za_submit ("arc_l2_bytes", "", values, STATIC_ARRAY_SIZE(values));
++ v.gauge = (gauge_t) tmp;
++ za_submit (type, type_instance, /* values = */ &v, /* values_num = */ 1);
++ return (0);
+ }
+
+-static void za_submit_counts (char *type_instance, counter_t demand_data, counter_t demand_metadata,
+- counter_t prefetch_data, counter_t prefetch_metadata)
++static void za_submit_ratio (const char* type_instance, long long hits, long long misses)
+ {
+- value_t values[4];
++ gauge_t ratio = NAN;
+
+- values[0].counter = demand_data;
+- values[1].counter = demand_metadata;
+- values[2].counter = prefetch_data;
+- values[3].counter = prefetch_metadata;
++ if ((hits > 0) || (misses > 0))
++ ratio = hits / (hits + misses);
+
+- za_submit ("arc_counts", type_instance, values, STATIC_ARRAY_SIZE(values));
++ za_submit_gauge ("cache_ratio", type_instance, ratio);
+ }
+
+ static int za_read (void)
+ {
+- gauge_t arcsize, targetsize, minlimit, maxlimit, hits, misses, l2_size, l2_hits, l2_misses;
+- counter_t demand_data_hits, demand_metadata_hits, prefetch_data_hits, prefetch_metadata_hits;
+- counter_t demand_data_misses, demand_metadata_misses, prefetch_data_misses, prefetch_metadata_misses;
+- counter_t l2_read_bytes, l2_write_bytes;
+- kstat_t *ksp = NULL;
++ long long l2_read_bytes, l2_write_bytes;
++ 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);
+ }
+
+- arcsize = get_kstat_value(ksp, "size");
+- targetsize = get_kstat_value(ksp, "c");
+- minlimit = get_kstat_value(ksp, "c_min");
+- maxlimit = get_kstat_value(ksp, "c_max");
+-
+- demand_data_hits = get_kstat_value(ksp, "demand_data_hits");
+- demand_metadata_hits = get_kstat_value(ksp, "demand_metadata_hits");
+- prefetch_data_hits = get_kstat_value(ksp, "prefetch_data_hits");
+- prefetch_metadata_hits = get_kstat_value(ksp, "prefetch_metadata_hits");
+-
+- demand_data_misses = get_kstat_value(ksp, "demand_data_misses");
+- demand_metadata_misses = get_kstat_value(ksp, "demand_metadata_misses");
+- prefetch_data_misses = get_kstat_value(ksp, "prefetch_data_misses");
+- prefetch_metadata_misses = get_kstat_value(ksp, "prefetch_metadata_misses");
+-
+- hits = get_kstat_value(ksp, "hits");
+- misses = get_kstat_value(ksp, "misses");
+-
+- l2_size = get_kstat_value(ksp, "l2_size");
+- l2_read_bytes = get_kstat_value(ksp, "l2_read_bytes");
+- l2_write_bytes = get_kstat_value(ksp, "l2_write_bytes");
+- l2_hits = get_kstat_value(ksp, "l2_hits");
+- l2_misses = get_kstat_value(ksp, "l2_misses");
+-
+-
+- za_submit_size (arcsize, targetsize, minlimit, maxlimit);
+- za_submit_gauge ("arc_l2_size", "", l2_size);
+-
+- za_submit_counts ("hits", demand_data_hits, demand_metadata_hits,
+- prefetch_data_hits, prefetch_metadata_hits);
+- za_submit_counts ("misses", demand_data_misses, demand_metadata_misses,
+- prefetch_data_misses, prefetch_metadata_misses);
++ /* Sizes */
++ za_read_gauge (&ctx, "size", "cache_size", "arc");
++ za_read_gauge (&ctx, "l2_size", "cache_size", "L2");
++
++ /* 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 (&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 (&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 = 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 = za_get_value (&ctx, "l2_read_bytes");
++ l2_io[1].derive = za_get_value (&ctx, "l2_write_bytes");
+
+- za_submit_gauge ("arc_ratio", "L1", hits / (hits + misses));
+- za_submit_gauge ("arc_ratio", "L2", l2_hits / (l2_hits + l2_misses));
+-
+- za_submit_bytes (l2_read_bytes, l2_write_bytes);
++ za_submit ("io_octets", "L2", l2_io, /* num values = */ 2);
+
+ return (0);
+-}
++} /* int za_read */
+
+ static int za_init (void) /* {{{ */
+ {
+- /* kstats chain already opened by update_kstat (using *kc), verify everything went fine. */
+- if (kc == 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: kstat chain control structure not available.");
++ ERROR ("zfs_arc plugin: could not get ARC size using sysctl, is ARC enabled?");
+ return (-1);
+ }
++#endif
+
+ return (0);
+ } /* }}} int za_init */
diff -ruN collectd/files/files.new/patch-version-gen.sh collectd.new/files/files.new/patch-version-gen.sh
--- collectd/files/files.new/patch-version-gen.sh 1970-01-01 01:00:00.000000000 +0100
+++ collectd.new/files/files.new/patch-version-gen.sh 2012-12-11 00:42:37.000000000 +0100
@@ -0,0 +1,7 @@
+--- version-gen.sh.orig 2012-11-11 11:43:05.000000000 +0100
++++ version-gen.sh 2012-12-06 14:49:39.204586447 +0100
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env bash
++#!/usr/bin/env sh
+
+ DEFAULT_VERSION="4.10.8.git"
diff -ruN collectd/pkg-plist collectd.new/pkg-plist
--- collectd/pkg-plist 2013-08-10 19:00:46.000000000 +0200
+++ collectd.new/pkg-plist 2014-05-19 15:37:18.000000000 +0200
@@ -3,123 +3,83 @@
sbin/collectdmon
@unexec if cmp -s %D/etc/collectd.conf.sample %D/etc/collectd.conf; then rm -f %D/etc/collectd.conf; fi
etc/collectd.conf.sample
- at exec if [ ! -f %B/collectd.conf ] ; then cp -p %B/%f %B/collectd.conf; fi
+ at exec if [ ! -f %D/collectd.conf ] ; then cp -p %D/%F %B/collectd.conf; fi
%%CGI%%%%WWWDIR%%/collection.cgi
%%CGI%%@unexec if cmp -s %B/collection.conf.sample %B/collection.conf; then rm -f %B/collection.conf; fi
%%CGI%%%%WWWDIR%%/collection.conf.sample
%%CGI%%@exec if [ ! -f %B/collection.conf ] ; then cp -p %B/%f %B/collection.conf; fi
%%CGI%%@dirrmtry %%WWWDIR%%
bin/collectd-nagios
-lib/libcollectdclient.la
lib/libcollectdclient.so
lib/libcollectdclient.so.0
-%%APACHE%%lib/collectd/apache.la
%%APACHE%%lib/collectd/apache.so
-%%APCUPS%%lib/collectd/apcups.la
%%APCUPS%%lib/collectd/apcups.so
-%%BIND%%lib/collectd/bind.la
%%BIND%%lib/collectd/bind.so
-lib/collectd/cpu.la
lib/collectd/cpu.so
-lib/collectd/csv.la
lib/collectd/csv.so
-%%CURL%%lib/collectd/curl.la
%%CURL%%lib/collectd/curl.so
-%%CURL_JSON%%lib/collectd/curl_json.la
%%CURL_JSON%%lib/collectd/curl_json.so
-%%CURL_XML%%lib/collectd/curl_xml.la
%%CURL_XML%%lib/collectd/curl_xml.so
-%%DBI%%lib/collectd/dbi.la
%%DBI%%lib/collectd/dbi.so
-%%DISK%%lib/collectd/disk.la
%%DISK%%lib/collectd/disk.so
-lib/collectd/df.la
lib/collectd/df.so
-lib/collectd/dns.la
lib/collectd/dns.so
-lib/collectd/email.la
lib/collectd/email.so
-lib/collectd/exec.la
lib/collectd/exec.so
lib/collectd/filecount.so
-lib/collectd/filecount.la
-%%INTERFACE%%lib/collectd/interface.la
%%INTERFACE%%lib/collectd/interface.so
-lib/collectd/load.la
lib/collectd/load.so
-lib/collectd/logfile.la
lib/collectd/logfile.so
-%%MBMON%%lib/collectd/mbmon.la
%%MBMON%%lib/collectd/mbmon.so
-%%MEMCACHED%%lib/collectd/memcached.la
%%MEMCACHED%%lib/collectd/memcached.so
-lib/collectd/memory.la
lib/collectd/memory.so
-%%MYSQL%%lib/collectd/mysql.la
%%MYSQL%%lib/collectd/mysql.so
-%%NGINX%%lib/collectd/nginx.la
%%NGINX%%lib/collectd/nginx.so
-lib/collectd/network.la
lib/collectd/network.so
-%%NOTIFYDESKTOP%%/notify_desktop.la
%%NOTIFYDESKTOP%%/notify_desktop.so
-%%NOTIFYEMAIL%%/notify_email.la
%%NOTIFYEMAIL%%/notify_email.so
-%%NUTUPS%%lib/collectd/nut.la
%%NUTUPS%%lib/collectd/nut.so
-lib/collectd/ntpd.la
lib/collectd/ntpd.so
-%%OPENVPN%%lib/collectd/openvpn.la
%%OPENVPN%%lib/collectd/openvpn.so
-%%PGSQL%%lib/collectd/postgresql.la
%%PGSQL%%lib/collectd/postgresql.so
-%%PING%%lib/collectd/ping.la
%%PING%%lib/collectd/ping.so
%%PDNS%%lib/collectd/powerdns.so
-%%PDNS%%lib/collectd/powerdns.la
-%%PYTHON%%lib/collectd/python.la
%%PYTHON%%lib/collectd/python.so
lib/collectd/processes.so
-lib/collectd/processes.la
-%%ROUTEROS%%lib/collectd/routeros.la
%%ROUTEROS%%lib/collectd/routeros.so
-%%RRD%%lib/collectd/rrdtool.la
%%RRD%%lib/collectd/rrdtool.so
-%%RRDCACHED%%lib/collectd/rrdcached.la
%%RRDCACHED%%lib/collectd/rrdcached.so
-%%SNMP%%lib/collectd/snmp.la
%%SNMP%%lib/collectd/snmp.so
-lib/collectd/swap.la
lib/collectd/swap.so
-lib/collectd/syslog.la
lib/collectd/syslog.so
lib/collectd/tail.so
-lib/collectd/tail.la
lib/collectd/tcpconns.so
-lib/collectd/tcpconns.la
-%%TOKYOTYRANT%%lib/collectd/tokyotyrant.la
%%TOKYOTYRANT%%lib/collectd/tokyotyrant.so
-lib/collectd/unixsock.la
lib/collectd/unixsock.so
lib/collectd/uptime.so
-lib/collectd/uptime.la
lib/collectd/uuid.so
-lib/collectd/uuid.la
-%%VIRT%%lib/collectd/libvirt.la
%%VIRT%%lib/collectd/libvirt.so
-%%WRITE_HTTP%%lib/collectd/write_http.la
%%WRITE_HTTP%%lib/collectd/write_http.so
-%%XMMS%%lib/collectd/xmms.la
%%XMMS%%lib/collectd/xmms.so
-lib/collectd/zfs_arc.la
lib/collectd/zfs_arc.so
include/collectd/client.h
include/collectd/lcc_features.h
libdata/pkgconfig/libcollectdclient.pc
+man/man1/collectd-nagios.1.gz
+man/man1/collectd.1.gz
+man/man1/collectdmon.1.gz
+man/man5/collectd-email.5.gz
+man/man5/collectd-exec.5.gz
+man/man5/collectd-java.5.gz
+man/man5/collectd-perl.5.gz
+man/man5/collectd-python.5.gz
+man/man5/collectd-snmp.5.gz
+man/man5/collectd-unixsock.5.gz
+man/man5/collectd.conf.5.gz
+man/man5/types.db.5.gz
%%DATADIR%%/postgresql_default.conf
%%DATADIR%%/types.db
@dirrm lib/collectd
@dirrm include/collectd
@dirrm %%DATADIR%%
- at exec mkdir -p /var/db/collectd
- at unexec rmdir /var/db/collectd 2>/dev/null || true
+ at dirrmtry /var/db/collectd
--10jrOL3x2xqLmOsH--
More information about the freebsd-ports-bugs
mailing list