Skip site navigation (1)Skip section navigation (2)
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>