diff options
author | Stefan Walter <stefan@FreeBSD.org> | 2010-06-30 20:05:46 +0000 |
---|---|---|
committer | Stefan Walter <stefan@FreeBSD.org> | 2010-06-30 20:05:46 +0000 |
commit | a43ffc48e2f1247a6440206cfcf2b94cdd0ece83 (patch) | |
tree | 59d2b128e4bf382e3e62df405d0c68a5f4a225ac /net/rtg | |
parent | d6de5eda748967b8b9ceb21e45e3bca9aa155799 (diff) | |
download | ports-a43ffc48e2f1247a6440206cfcf2b94cdd0ece83.tar.gz ports-a43ffc48e2f1247a6440206cfcf2b94cdd0ece83.zip |
Notes
Diffstat (limited to 'net/rtg')
-rw-r--r-- | net/rtg/Makefile | 18 | ||||
-rw-r--r-- | net/rtg/files/patch-etc-rtgtargmkr.pl.in | 11 | ||||
-rw-r--r-- | net/rtg/files/patch-src-rtg.h | 13 | ||||
-rw-r--r-- | net/rtg/files/patch-src-rtgpoll.c | 65 | ||||
-rw-r--r-- | net/rtg/files/rtgpoll.in | 36 |
5 files changed, 138 insertions, 5 deletions
diff --git a/net/rtg/Makefile b/net/rtg/Makefile index 929410092201..27eb83e6486e 100644 --- a/net/rtg/Makefile +++ b/net/rtg/Makefile @@ -7,24 +7,32 @@ PORTNAME= rtg PORTVERSION= 0.7.4 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= net MASTER_SITES= SF -MAINTAINER= ports@FreeBSD.org +MAINTAINER= freebsd-ports@dan.me.uk COMMENT= A flexible, high-performance SNMP statistics monitoring system -LIB_DEPENDS= netsnmp.20:${PORTSDIR}/net-mgmt/net-snmp +LIB_DEPENDS= netsnmp:${PORTSDIR}/net-mgmt/net-snmp MAN1= rtgplot.1 rtgpoll.1 -USE_MYSQL= yes +USE_RC_SUBR= rtgpoll +USE_MYSQL= yes GNU_CONFIGURE= yes CONFIGURE_ARGS+= --sysconfdir=${PREFIX}/etc/${PORTNAME} \ --with-mysql=${LOCALBASE} \ --with-snmp=${LOCALBASE} +.include <bsd.port.pre.mk> + +.if ${OSVERSION} >= 800040 +CFLAGS+= -fstack-protector +LDFLAGS+= -fstack-protector +.endif + pre-configure: @${REINPLACE_CMD} -e 's,-pthread,${PTHREAD_LIBS},g' ${WRKSRC}/configure -.include <bsd.port.mk> +.include <bsd.port.post.mk> diff --git a/net/rtg/files/patch-etc-rtgtargmkr.pl.in b/net/rtg/files/patch-etc-rtgtargmkr.pl.in new file mode 100644 index 000000000000..318b3c3e06e7 --- /dev/null +++ b/net/rtg/files/patch-etc-rtgtargmkr.pl.in @@ -0,0 +1,11 @@ +--- etc/rtgtargmkr.pl.in.orig 2010-04-21 20:55:58.903081619 +0100 ++++ etc/rtgtargmkr.pl.in 2010-04-21 20:56:15.567832088 +0100 +@@ -126,7 +126,7 @@ + &sql_insert($sql); + $rid = &find_router_id($router); + foreach $mib ( keys %mibs_of_interest ) { +- $sql = "CREATE TABLE $mib"."_$rid (id INT NOT NULL, dtime DATETIME NOT NULL, counter BIGINT NOT NULL, KEY $mib"."_$rid". "_idx (dtime))"; ++ $sql = "CREATE TABLE $mib"."_$rid (id INT NOT NULL, dtime DATETIME NOT NULL, counter BIGINT NOT NULL, KEY $mib"."_$rid". "_idx (dtime), KEY id_dtime_idx (id,dtime))"; + &sql_insert($sql); + } + } diff --git a/net/rtg/files/patch-src-rtg.h b/net/rtg/files/patch-src-rtg.h new file mode 100644 index 000000000000..b9282d8127a7 --- /dev/null +++ b/net/rtg/files/patch-src-rtg.h @@ -0,0 +1,13 @@ +--- src/rtg.h.orig 2010-04-21 21:26:38.587554904 +0100 ++++ src/rtg.h 2010-04-21 21:31:40.436052227 +0100 +@@ -42,9 +42,7 @@ + #define DEFAULT_DB_PASS "rtgdefault" + #define DEFAULT_SNMP_VER 1 + #define DEFAULT_SNMP_PORT 161 +- +-/* PID File */ +-#define PIDFILE "/tmp/rtgpoll.pid" ++#define DEFAULT_PIDFILE "/tmp/rtgpoll.pid" + + #define STAT_DESCRIP_ERROR 99 + #define HASHSIZE 5000 diff --git a/net/rtg/files/patch-src-rtgpoll.c b/net/rtg/files/patch-src-rtgpoll.c new file mode 100644 index 000000000000..4877381bc25e --- /dev/null +++ b/net/rtg/files/patch-src-rtgpoll.c @@ -0,0 +1,65 @@ +--- src/rtgpoll.c.orig 2010-04-21 21:24:13.686718318 +0100 ++++ src/rtgpoll.c 2010-04-21 21:33:53.755065067 +0100 +@@ -13,6 +13,7 @@ + stats_t stats = + {PTHREAD_MUTEX_INITIALIZER, 0, 0, 0, 0, 0, 0, 0, 0, 0.0}; + char *target_file = NULL; ++char *pidfile = NULL; + target_t *current = NULL; + MYSQL mysql; + int entries = 0; +@@ -41,7 +42,7 @@ + config_defaults(&set); + + /* Parse the command-line. */ +- while ((ch = getopt(argc, argv, "c:dhmt:vz")) != EOF) ++ while ((ch = getopt(argc, argv, "c:dhmp:t:vz")) != EOF) + switch ((char) ch) { + case 'c': + conf_file = optarg; +@@ -55,6 +56,9 @@ + case 'm': + set.multiple++; + break; ++ case 'p': ++ pidfile = optarg; ++ break; + case 't': + target_file = optarg; + break; +@@ -66,6 +70,9 @@ + break; + } + ++ if (!pidfile) ++ pidfile = DEFAULT_PIDFILE; ++ + if (set.verbose >= LOW) + printf("RTG version %s starting.\n", VERSION); + +@@ -78,7 +85,7 @@ + sigaddset(&signal_set, SIGINT); + sigaddset(&signal_set, SIGQUIT); + if (!set.multiple) +- checkPID(PIDFILE); ++ checkPID(pidfile); + + if (pthread_sigmask(SIG_BLOCK, &signal_set, NULL) != 0) + printf("pthread_sigmask error\n"); +@@ -244,7 +251,7 @@ + if (set.verbose >= LOW) + printf("Quiting: received signal %d.\n", sig_number); + rtg_dbdisconnect(&mysql); +- unlink(PIDFILE); ++ unlink(pidfile); + exit(1); + break; + } +@@ -259,6 +266,7 @@ + printf("\nOptions:\n"); + printf(" -c <file> Specify configuration file\n"); + printf(" -d Disable database inserts\n"); ++ printf(" -p <file> Specify pid file (defaults to /tmp/rtgpoll.pid)\n"); + printf(" -t <file> Specify target file\n"); + printf(" -v Increase verbosity\n"); + printf(" -m Allow multiple instances\n"); diff --git a/net/rtg/files/rtgpoll.in b/net/rtg/files/rtgpoll.in new file mode 100644 index 000000000000..04c073266ffc --- /dev/null +++ b/net/rtg/files/rtgpoll.in @@ -0,0 +1,36 @@ +#!/bin/sh + +# $FreeBSD$ +# +# PROVIDE: rtgpoll +# REQUIRE: LOGIN +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# rtgpoll_enable (bool): Set to NO by default. +# Set it to YES to enable rtgpoll. +# rtgpoll_config (path): Set to %%PREFIX%%/etc/rtg/rtg.conf by default. +# rtgpoll_targets (path): Set to %%PREFIX%%/etc/rtg/targets.cfg by default. +# rtgpoll_pidfile (path): Set to /var/run/rtgpoll.pid by default. +# + +. /etc/rc.subr + +name="rtgpoll" +rcvar=${name}_enable + +command=%%PREFIX%%/bin/${name} + +load_rc_config $name + +: ${rtgpoll_enable="NO"} +: ${rtgpoll_config="%%PREFIX%%/etc/rtg/rtg.conf"} +: ${rtgpoll_targets="%%PREFIX%%/etc/rtg/targets.cfg"} +: ${rtgpoll_pidfile="/var/run/${name}.pid"} + +command_args="-p $rtgpoll_pidfile -c $rtgpoll_config -t $rtgpoll_targets &" + +run_rc_command "$1" + |