From 17fb0937fea42de302cd8655ab0082d4746d5f60 Mon Sep 17 00:00:00 2001 From: Bryan Drewery Date: Wed, 22 Aug 2012 00:55:25 +0000 Subject: - 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 (maintainer) Approved by: eadler (mentor) --- net-mgmt/nagios-plugins/Makefile | 55 +++++++------- net-mgmt/nagios-plugins/distinfo | 4 +- .../files/extra-patch-plugins__check_users.c | 83 ++++++++++++++++++++++ 3 files changed, 116 insertions(+), 26 deletions(-) create mode 100644 net-mgmt/nagios-plugins/files/extra-patch-plugins__check_users.c (limited to 'net-mgmt') diff --git a/net-mgmt/nagios-plugins/Makefile b/net-mgmt/nagios-plugins/Makefile index c775eac3321c..4e789a825779 100644 --- a/net-mgmt/nagios-plugins/Makefile +++ b/net-mgmt/nagios-plugins/Makefile @@ -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=${NONEXISTENT} 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 diff --git a/net-mgmt/nagios-plugins/distinfo b/net-mgmt/nagios-plugins/distinfo index 599ba43bea67..12b7547d3167 100644 --- a/net-mgmt/nagios-plugins/distinfo +++ b/net-mgmt/nagios-plugins/distinfo @@ -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 diff --git a/net-mgmt/nagios-plugins/files/extra-patch-plugins__check_users.c b/net-mgmt/nagios-plugins/files/extra-patch-plugins__check_users.c new file mode 100644 index 000000000000..29f6211ab02e --- /dev/null +++ b/net-mgmt/nagios-plugins/files/extra-patch-plugins__check_users.c @@ -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 + + #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) -- cgit v1.2.3