Date: Thu, 3 Jan 2013 17:59:55 GMT From: Eric Freeman <freebsdports@chillibear.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/174953: [PATCH] net-mgmt/collectd5 (add additional plugins - ipmi, table, notify_email, varnish) Message-ID: <201301031759.r03Hxtaf039605@red.freebsd.org> Resent-Message-ID: <201301031810.r03IA2dK062956@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 174953 >Category: ports >Synopsis: [PATCH] net-mgmt/collectd5 (add additional plugins - ipmi, table, notify_email, varnish) >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Thu Jan 03 18:10:02 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Eric Freeman >Release: 8.2 >Organization: Sundive Networks >Environment: >Description: Dependency on http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/174545 Added in some of the other available plugins for Collectd5 that I'm hoping to use. Quick summary of changes: IPMI Required some modifications to the existing FreeBSD OpenIPMI port, please note that ports/174545 will need to be committed ahead of this PR, essentially it fixes a pkg-config issue that broke the build. TABLE Nothing done apart from enabling it. NOTIFY_EMAIL Some additional lines to existing patches to remove the '-ldl' switch since FreeBSD doesn't have/need a libdl. VARNISH Some additional lines to existing patches, needed to tweak the search path for the varnish libraries in order to get things to build. I've kept with the style of the Makefile/plist etc so should hopefully all make sense. I've not bumped the port, I didn't feel that was needed since I'm not fixing anything broken. >How-To-Repeat: n/a >Fix: diff -ru collectd5.orig/Makefile collectd5/Makefile --- collectd5.orig/Makefile 2013-01-03 17:43:11.000000000 +0000 +++ collectd5/Makefile 2013-01-03 17:02:43.000000000 +0000 @@ -18,10 +18,11 @@ OPTIONS_DEFINE= CGI BIND DEBUG GCRYPT VIRT OPTIONS_MULTI= INPUT OUTPUT -OPTIONS_MULTI_OUTPUT= RRDTOOL RRDCACHED WRITE_GRAPHITE WRITE_HTTP +OPTIONS_MULTI_OUTPUT= RRDTOOL RRDCACHED WRITE_GRAPHITE WRITE_HTTP NOTIFYEMAIL OPTIONS_MULTI_INPUT= APACHE APCUPS CURL CURL_JSON CURL_XML DBI DISK \ - GCRYPT NUTUPS INTERFACE IPMI MBMON MEMCACHED MYSQL NGINX OPENVPN \ - PDNS PGSQL PING PYTHON ROUTEROS SNMP TOKYOTYRANT XMMS + GCRYPT NUTUPS INTERFACE IPMI MBMON MEMCACHED MYSQL NGINX \ + OPENVPN PDNS PGSQL PING PYTHON ROUTEROS SNMP \ + TABLE TOKYOTYRANT VARNISH XMMS OPTIONS_DEFAULT= BIND INTERFACE PING SNMP RRDTOOL RRDCACHED CGI_DESC= Install collection.cgi (requires RRDTOOL) @@ -43,6 +44,7 @@ MBMON_DESC= MBMon MEMCACHED_DESC= Memcached MYSQL_DESC= MySQL +NOTIFYEMAIL_DESC= Email notifications (libesmtp) NGINX_DESC= Nginx OPENVPN_DESC= OpenVPN statistics PDNS_DESC= PowerDNS @@ -51,7 +53,9 @@ PYTHON_DESC= Python plugin ROUTEROS_DESC= RouterOS plugin SNMP_DESC= SNMP +TABLE_DESC= Table plugin TOKYOTYRANT_DESC= Tokyotyrant database +VARNISH_DESC= Varnish plugin XMMS_DESC= XMMS # OUTPUT RRDTOOL_DESC= RRDTool @@ -264,8 +268,9 @@ .endif .if ${PORT_OPTIONS:MIPMI} +USE_PKGCONFIG= yes CONFIGURE_ARGS+=--enable-ipmi -LIB_DEPENDS+= openipmi:${PORTSDIR}/sysutils/openipmi +LIB_DEPENDS+= OpenIPMI:${PORTSDIR}/sysutils/openipmi PLIST_SUB+= IPMI="" .else CONFIGURE_ARGS+=--disable-ipmi @@ -300,6 +305,16 @@ PLIST_SUB+= MYSQL="@comment " .endif +.if ${PORT_OPTIONS:MNOTIFYEMAIL} +LIB_DEPENDS+= esmtp:${PORTSDIR}/mail/libesmtp +CONFIGURE_ARGS+=--enable-notify_email +CONFIGURE_ARGS+=--with-libesmtp=${PREFIX} +PLIST_SUB+= NOTIFYEMAIL="" +.else +CONFIGURE_ARGS+=--disable-notify_email +PLIST_SUB+= NOTIFYEMAIL="@comment " +.endif + .if ${PORT_OPTIONS:MNGINX} RUN_DEPENDS+= nginx:${PORTSDIR}/www/nginx LIB_DEPENDS+= curl:${PORTSDIR}/ftp/curl @@ -390,6 +405,14 @@ PLIST_SUB+= SNMP="@comment " .endif +.if ${PORT_OPTIONS:MTABLE} +CONFIGURE_ARGS+=--enable-table +PLIST_SUB+= TABLE="" +.else +CONFIGURE_ARGS+=--disable-table +PLIST_SUB+= TABLE="@comment " +.endif + .if ${PORT_OPTIONS:MTOKYOTYRANT} LIB_DEPENDS+= tokyotyrant:${PORTSDIR}/databases/tokyotyrant CONFIGURE_ARGS+=--enable-tokyotyrant @@ -400,6 +423,16 @@ PLIST_SUB+= TOKYOTYRANT="@comment " .endif +.if ${PORT_OPTIONS:MVARNISH} +LIB_DEPENDS+= varnishapi:${PORTSDIR}/www/varnish +CONFIGURE_ARGS+=--enable-varnish +CONFIGURE_ARGS+=--with-libvarnish=${PREFIX} +PLIST_SUB+= VARNISH="" +.else +CONFIGURE_ARGS+=--disable-varnish +PLIST_SUB+= VARNISH="@comment " +.endif + .if ${PORT_OPTIONS:MVIRT} CONFIGURE_ARGS+=--enable-libvirt LIB_DEPENDS+= virt.1000:${PORTSDIR}/devel/libvirt diff -ru collectd5.orig/files/patch-configure.in collectd5/files/patch-configure.in --- collectd5.orig/files/patch-configure.in 2013-01-03 17:43:11.000000000 +0000 +++ collectd5/files/patch-configure.in 2013-01-03 17:17:08.000000000 +0000 @@ -64,6 +64,17 @@ AC_CHECK_FUNC(PyObject_CallFunction, [with_python="yes"], +--- configure.in.orig 2013-01-03 17:07:22.000000000 +0000 ++++ configure.in 2013-01-03 17:07:58.000000000 +0000 +@@ -4057,7 +4057,7 @@ + then + AC_MSG_NOTICE([Not checking for libvarnish: Manually configured]) + with_libvarnish_cflags="-I$withval/include" +- with_libvarnish_libs="-L$withval/lib -lvarnish -lvarnishcompat -lvarnishapi" ++ with_libvarnish_libs="-L$withval/lib/varnish -lvarnish -lvarnishcompat -lvarnishapi" + with_libvarnish="yes" + fi; fi; fi + ], @@ -4580,6 +4583,12 @@ plugin_zfs_arc="yes" fi diff -ru collectd5.orig/files/patch-src__Makefile.am collectd5/files/patch-src__Makefile.am --- collectd5.orig/files/patch-src__Makefile.am 2013-01-03 17:43:11.000000000 +0000 +++ collectd5/files/patch-src__Makefile.am 2013-01-03 16:19:54.000000000 +0000 @@ -45,6 +45,15 @@ endif if BUILD_WITH_LIBDEVINFO memory_la_LIBADD += -ldevinfo +@@ -763,7 +763,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 @@ -1021,7 +1021,7 @@ collectd_LDADD += "-dlopen" swap.la collectd_DEPENDENCIES += swap.la diff -ru collectd5.orig/pkg-plist collectd5/pkg-plist --- collectd5.orig/pkg-plist 2013-01-03 17:43:11.000000000 +0000 +++ collectd5/pkg-plist 2013-01-03 17:37:41.000000000 +0000 @@ -45,6 +45,8 @@ lib/collectd/filecount.so %%INTERFACE%%lib/collectd/interface.la %%INTERFACE%%lib/collectd/interface.so +%%IPMI%%lib/collectd/ipmi.la +%%IPMI%%lib/collectd/ipmi.so lib/collectd/load.la lib/collectd/load.so lib/collectd/logfile.la @@ -57,6 +59,8 @@ lib/collectd/memory.so %%MYSQL%%lib/collectd/mysql.la %%MYSQL%%lib/collectd/mysql.so +%%NOTIFYEMAIL%%lib/collectd/notify_email.la +%%NOTIFYEMAIL%%lib/collectd/notify_email.so %%NGINX%%lib/collectd/nginx.la %%NGINX%%lib/collectd/nginx.so lib/collectd/network.la @@ -97,6 +101,8 @@ lib/collectd/tcpconns.so lib/collectd/threshold.la lib/collectd/threshold.so +%%TABLE%%lib/collectd/table.la +%%TABLE%%lib/collectd/table.so %%TOKYOTYRANT%%lib/collectd/tokyotyrant.la %%TOKYOTYRANT%%lib/collectd/tokyotyrant.so lib/collectd/unixsock.la @@ -107,6 +113,8 @@ lib/collectd/users.so lib/collectd/uuid.la lib/collectd/uuid.so +%%VARNISH%%lib/collectd/varnish.la +%%VARNISH%%lib/collectd/varnish.so %%VIRT%%lib/collectd/libvirt.la %%VIRT%%lib/collectd/libvirt.so %%WRITE_GRAPHITE%%lib/collectd/write_graphite.so >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201301031759.r03Hxtaf039605>