aboutsummaryrefslogtreecommitdiff
path: root/net/rtg
diff options
context:
space:
mode:
authorStefan Walter <stefan@FreeBSD.org>2010-06-30 20:05:46 +0000
committerStefan Walter <stefan@FreeBSD.org>2010-06-30 20:05:46 +0000
commita43ffc48e2f1247a6440206cfcf2b94cdd0ece83 (patch)
tree59d2b128e4bf382e3e62df405d0c68a5f4a225ac /net/rtg
parentd6de5eda748967b8b9ceb21e45e3bca9aa155799 (diff)
downloadports-a43ffc48e2f1247a6440206cfcf2b94cdd0ece83.tar.gz
ports-a43ffc48e2f1247a6440206cfcf2b94cdd0ece83.zip
Notes
Diffstat (limited to 'net/rtg')
-rw-r--r--net/rtg/Makefile18
-rw-r--r--net/rtg/files/patch-etc-rtgtargmkr.pl.in11
-rw-r--r--net/rtg/files/patch-src-rtg.h13
-rw-r--r--net/rtg/files/patch-src-rtgpoll.c65
-rw-r--r--net/rtg/files/rtgpoll.in36
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"
+