Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Aug 2012 00:55:26 +0000 (UTC)
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r302916 - in head/net-mgmt/nagios-plugins: . files
Message-ID:  <201208220055.q7M0tQjG037405@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bdrewery
Date: Wed Aug 22 00:55:25 2012
New Revision: 302916
URL: http://svn.freebsd.org/changeset/ports/302916

Log:
  - Update to 1.4.16 [1]
  - Use 1.4.15 version of check_users on non-utmpx systems [1]
  - Fix some locale issues [1]
  - Convert to new options framework
  - Remove versioned LIB_DEPENDS on net/radiusclient
  
  PR:		ports/169977 [1]
  Submitted by:	myself, maintainer
  Approved by:	Jarrod Sayers <jarrod@downtools.com.au> (maintainer)
  Approved by:	eadler (mentor)

Added:
  head/net-mgmt/nagios-plugins/files/extra-patch-plugins__check_users.c   (contents, props changed)
Modified:
  head/net-mgmt/nagios-plugins/Makefile
  head/net-mgmt/nagios-plugins/distinfo

Modified: head/net-mgmt/nagios-plugins/Makefile
==============================================================================
--- head/net-mgmt/nagios-plugins/Makefile	Wed Aug 22 00:54:31 2012	(r302915)
+++ head/net-mgmt/nagios-plugins/Makefile	Wed Aug 22 00:55:25 2012	(r302916)
@@ -6,8 +6,7 @@
 #
 
 PORTNAME=	nagios-plugins
-PORTVERSION=	1.4.15
-PORTREVISION=	1
+PORTVERSION=	1.4.16
 PORTEPOCH=	1
 CATEGORIES=	net-mgmt
 MASTER_SITES=	SF/nagiosplug/nagiosplug/${PORTVERSION}
@@ -21,15 +20,17 @@ USE_PERL5=	yes
 USE_AUTOTOOLS=	libtool aclocal autoconf automake
 ACLOCAL_ARGS=	-I m4 -I gl/m4
 
-OPTIONS=	QSTAT "Game server query support (check_game)" OFF \
-		FPING "Support for non-flooding fast ping (check_fping)" OFF \
-		NETSNMP "SNMP support (check_snmp)" OFF \
-		RADIUS "Radius support (check_radius)" OFF \
-		MYSQL "MySQL support (check_mysql)" OFF \
-		PGSQL "PostgreSQL support (check_pgsql)" OFF \
-		LDAP "OpenLDAP support (check_ldap)" OFF \
-		IPV6 "IPv6 support" ON \
-		JAIL "Compilation within jail(8) (see Makefile)" OFF
+OPTIONS_DEFINE=	QSTAT FPING NETSNMP RADIUS MYSQL PGSQL LDAP IPV6 JAIL NLS
+OPTIONS_DEFAULT=IPV6
+
+QSTAT_DESC=	Game server query support (check_game)
+FPING_DESC=	Support for non-flooding fast ping (check_fping)
+NETSNMP_DESC=	SNMP support (check_snmp)
+RADIUS_DESC=	Radius support (check_radius)
+MYSQL_DESC=	MySQL support (check_mysql)
+PGSQL_DESC=	PostgreSQL support (check_pgsql)
+LDAP_DESC=	OpenLDAP support (check_ldap)
+JAIL_DESC=	Compilation within jail(8) (see Makefile)
 
 GNU_CONFIGURE=	yes
 
@@ -61,7 +62,7 @@ CPPFLAGS+=	-I${LOCALBASE}/include
 LDFLAGS+=	-L${LOCALBASE}/lib
 CFLAGS+=	-I${LOCALBASE}/include
 
-.if defined(WITH_QSTAT)
+.if ${PORT_OPTIONS:MQSTAT}
 BUILD_DEPENDS+=	qstat:${PORTSDIR}/games/qstat
 RUN_DEPENDS+=	qstat:${PORTSDIR}/games/qstat
 CONFIGURE_ARGS+=	--enable-qstat
@@ -70,13 +71,13 @@ PLIST_SUB+=	SUB_QSTAT=""
 PLIST_SUB+=	SUB_QSTAT="@comment "
 .endif
 
-.if !defined(WITHOUT_IPV6)
+.if ${PORT_OPTIONS:MIPV6}
 CONFIGURE_ARGS+=	--with-ipv6
 .else
 CONFIGURE_ARGS+=	--without-ipv6
 .endif
 
-.if defined(WITH_FPING)
+.if ${PORT_OPTIONS:MFPING}
 BUILD_DEPENDS+=	fping:${PORTSDIR}/net/fping
 RUN_DEPENDS+=	fping:${PORTSDIR}/net/fping
 CONFIGURE_ARGS+=	--enable-fping
@@ -85,7 +86,7 @@ PLIST_SUB+=	SUB_FPING=""
 PLIST_SUB+=	SUB_FPING="@comment "
 .endif
 
-.if defined(WITH_NETSNMP)
+.if ${PORT_OPTIONS:MNETSNMP}
 BUILD_DEPENDS+=	snmpcheck:${PORTSDIR}/net-mgmt/net-snmp \
 		p5-Net-SNMP>=0:${PORTSDIR}/net-mgmt/p5-Net-SNMP
 RUN_DEPENDS+=	snmpcheck:${PORTSDIR}/net-mgmt/net-snmp \
@@ -96,15 +97,15 @@ PLIST_SUB+=	SUB_SNMP=""
 PLIST_SUB+=	SUB_SNMP="@comment "
 .endif
 
-.if defined(WITH_RADIUS)
-LIB_DEPENDS+=	radiusclient-ng.2:${PORTSDIR}/net/radiusclient
+.if ${PORT_OPTIONS:MRADIUS}
+LIB_DEPENDS+=	radiusclient-ng:${PORTSDIR}/net/radiusclient
 CONFIGURE_ARGS+=	--enable-radius
 PLIST_SUB+=	SUB_RADIUS=""
 .else
 PLIST_SUB+=	SUB_RADIUS="@comment "
 .endif
 
-.if defined(WITH_MYSQL)
+.if ${PORT_OPTIONS:MMYSQL}
 USE_MYSQL=	YES
 CONFIGURE_ARGS+=	--with-mysql=${LOCALBASE}
 PLIST_SUB+=	SUB_MYSQL=""
@@ -113,7 +114,7 @@ CONFIGURE_ARGS+=	--without-mysql
 PLIST_SUB+=	SUB_MYSQL="@comment "
 .endif
 
-.if defined(WITH_PGSQL)
+.if ${PORT_OPTIONS:MPGSQL}
 USE_PGSQL=	YES
 CONFIGURE_ARGS+=	--with-pgsql=${LOCALBASE}
 PLIST_SUB+=	SUB_PGSQL=""
@@ -122,7 +123,7 @@ CONFIGURE_ARGS+=	--with-pgsql=${NONEXIST
 PLIST_SUB+=	SUB_PGSQL="@comment "
 .endif
 
-.if defined(WITH_LDAP)
+.if ${PORT_OPTIONS:MLDAP}
 USE_OPENLDAP=	YES
 CONFIGURE_ARGS+=	--enable-ldap
 PLIST_SUB+=	SUB_LDAP=""
@@ -130,7 +131,7 @@ PLIST_SUB+=	SUB_LDAP=""
 PLIST_SUB+=	SUB_LDAP="@comment "
 .endif
 
-.if defined(WITHOUT_NLS)
+.if empty(PORT_OPTIONS:MNLS)
 CONFIGURE_ARGS+=	--disable-nls
 PLIST_SUB+=	NLS="@comment "
 .else
@@ -138,13 +139,19 @@ USE_GETTEXT=	yes
 PLIST_SUB+=	NLS=""
 .endif
 
+# Restore check_users from 1.4.15 for hosts without getutxent(3)
+.if ${OSVERSION} < 900007
+EXTRA_PATCHES+=	${FILESDIR}/extra-patch-plugins__check_users.c
+.endif
+
 post-patch:
 .for file in check_by_ssh.c check_disk.c check_http.c check_mrtgtraf.c \
-	check_nagios.c check_pgsql.c check_snmp.c check_ssh.c check_swap.c \
-	check_time.c check_users.c utils.c
+	check_nagios.c check_ntp.c check_ntp_peer.c check_ntp_time.c \
+	check_pgsql.c check_snmp.c check_ssh.c check_swap.c check_time.c \
+	check_users.c
 	@${REINPLACE_CMD} -e 's|setlocale (LC_ALL, "");|setlocale (LC_ALL, ""); setlocale(LC_NUMERIC, "C");|g' ${WRKSRC}/plugins/${file}
 .endfor
-.if defined(WITH_JAIL)
+.if ${PORT_OPTIONS:MJAIL}
 	@${REINPLACE_CMD} -e 's# 127.0.0.1 # ${NAGIOSPOLLIP} #g' ${WRKSRC}/configure.in
 	@${REINPLACE_CMD} -e 's# ::1 # ${NAGIOSPOLLIP6} #g' ${WRKSRC}/configure.in
 .endif

Modified: head/net-mgmt/nagios-plugins/distinfo
==============================================================================
--- head/net-mgmt/nagios-plugins/distinfo	Wed Aug 22 00:54:31 2012	(r302915)
+++ head/net-mgmt/nagios-plugins/distinfo	Wed Aug 22 00:55:25 2012	(r302916)
@@ -1,2 +1,2 @@
-SHA256 (nagios-plugins-1.4.15.tar.gz) = 51136e5210e3664e1351550de3aff4a766d9d9fea9a24d09e37b3428ef96fa5b
-SIZE (nagios-plugins-1.4.15.tar.gz) = 2095419
+SHA256 (nagios-plugins-1.4.16.tar.gz) = b0caf07e0084e9b7f10fdd71cbd3ebabcd85ad78df64da360b51233b0e73b2bd
+SIZE (nagios-plugins-1.4.16.tar.gz) = 2087089

Added: head/net-mgmt/nagios-plugins/files/extra-patch-plugins__check_users.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/nagios-plugins/files/extra-patch-plugins__check_users.c	Wed Aug 22 00:55:25 2012	(r302916)
@@ -0,0 +1,83 @@
+--- plugins/check_users.c.orig	2012-06-28 03:02:47.000000000 +0930
++++ plugins/check_users.c	2012-08-05 10:29:00.000000000 +0930
+@@ -35,8 +35,8 @@
+ const char *email = "nagiosplug-devel@lists.sourceforge.net";
+ 
+ #include "common.h"
++#include "popen.h"
+ #include "utils.h"
+-#include <utmpx.h>
+ 
+ #define possibly_set(a,b) ((a) == 0 ? (b) : 0)
+ 
+@@ -52,8 +52,8 @@
+ {
+ 	int users = -1;
+ 	int result = STATE_UNKNOWN;
++	char input_buffer[MAX_INPUT_BUFFER];
+ 	char *perf;
+-	struct utmpx *putmpx;
+ 
+ 	setlocale (LC_ALL, "");
+ 	bindtextdomain (PACKAGE, LOCALEDIR);
+@@ -67,18 +67,43 @@
+ 	if (process_arguments (argc, argv) == ERROR)
+ 		usage4 (_("Could not parse arguments"));
+ 
++	/* run the command */
++	child_process = spopen (WHO_COMMAND);
++	if (child_process == NULL) {
++		printf (_("Could not open pipe: %s\n"), WHO_COMMAND);
++		return STATE_UNKNOWN;
++	}
++
++	child_stderr = fdopen (child_stderr_array[fileno (child_process)], "r");
++	if (child_stderr == NULL)
++		printf (_("Could not open stderr for %s\n"), WHO_COMMAND);
++
+ 	users = 0;
+ 
+-	/* get currently logged users from utmpx */
+-	setutxent ();
++	while (fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_process)) {
+ 
+-	while ((putmpx = getutxent ()) != NULL)
+-		if (putmpx->ut_type == USER_PROCESS)
++		/* increment 'users' on all lines except total user count */
++		if (input_buffer[0] != '#') {
+ 			users++;
++			continue;
++		}
++
++		/* get total logged in users */
++		if (sscanf (input_buffer, _("# users=%d"), &users) == 1)
++			break;
++
++	}
+ 
+-	endutxent ();
++	/* check STDERR */
++	if (fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_stderr))
++		result = possibly_set (result, STATE_UNKNOWN);
++	(void) fclose (child_stderr);
++
++	/* close the pipe */
++	if (spclose (child_process))
++		result = possibly_set (result, STATE_UNKNOWN);
+ 
+-	/* check the user count against warning and critical thresholds */
++	/* else check the user count against warning and critical thresholds */
+ 	if (users > cusers)
+ 		result = STATE_CRITICAL;
+ 	else if (users > wusers)
+--- plugins/Makefile.am.orig	2012-06-28 03:02:47.000000000 +0930
++++ plugins/Makefile.am	2012-08-05 10:29:00.000000000 +0930
+@@ -101,7 +101,7 @@
+ check_time_LDADD = $(NETLIBS)
+ check_ntp_time_LDADD = $(NETLIBS) $(MATHLIBS)
+ check_ups_LDADD = $(NETLIBS)
+-check_users_LDADD = $(BASEOBJS)
++check_users_LDADD = $(BASEOBJS) popen.o
+ check_by_ssh_LDADD = $(NETLIBS)
+ check_ide_smart_LDADD = $(BASEOBJS)
+ negate_LDADD = $(BASEOBJS)



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