aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--GIDs1
-rw-r--r--UIDs1
-rw-r--r--net/vnstat/Makefile11
-rw-r--r--net/vnstat/files/vnstat.in40
4 files changed, 51 insertions, 2 deletions
diff --git a/GIDs b/GIDs
index 0101acb1210c..bc6914de1b35 100644
--- a/GIDs
+++ b/GIDs
@@ -135,6 +135,7 @@ xymon:*:280:
prelude:*:281:
spread:*:282:
devmon:*:283:
+vnstat:*:284:
backuppc:*:300:
_sphinx:*:312:
dkfilter:*:325:
diff --git a/UIDs b/UIDs
index 0dca5837eeb8..b144fd6e0644 100644
--- a/UIDs
+++ b/UIDs
@@ -143,6 +143,7 @@ xymon:*:280:280::0:0:Xymon Monitor:/nonexistent:/usr/sbin/nologin
prelude:*:281:281::0:0:Prelude user:/nonexistent:/usr/sbin/nologin
spread:*:282:282::0:0:Spread user:/nonexistent:/usr/sbin/nologin
devmon:*:283:283::0:0:devmon monitor:/nonexistent:/usr/sbin/nologin
+vnstat:*:284:284::0:0:vnStat Network Monitor:/nonexistent:/usr/sbin/nologin
backuppc:*:300:300::0:0:BackupPC pseudo-user:/nonexistent:/usr/sbin/nologin
_sphinx:*:312:312::0:0:Sphinxsearch Owner:/nonexistent:/usr/sbin/nologin
dkfilter:*:325:325::0:0:DK Filter Owner:/nonexistent:/usr/sbin/nologin
diff --git a/net/vnstat/Makefile b/net/vnstat/Makefile
index 29824e464d2c..71633ce403bd 100644
--- a/net/vnstat/Makefile
+++ b/net/vnstat/Makefile
@@ -3,7 +3,7 @@
PORTNAME= vnstat
PORTVERSION= 1.11
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= net
MASTER_SITES= http://humdi.net/vnstat/ \
http://mirror.mcx2.org/
@@ -15,11 +15,18 @@ MAKE_ARGS= CC="${CC}" CFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib"
INSTALL_TARGET= bsdinstall
+USE_RC_SUBR= vnstat
+
+USERS= vnstat
+GROUPS= vnstat
+
MAN1= vnstat.1 vnstatd.1
MAN5= vnstat.conf.5
MANCOMPRESSED= yes
PORTDOCS= README INSTALL_BSD UPGRADE vnstat-cron
SUB_FILES= pkg-message
+SUB_LIST= USERS=${USERS} \
+ GROUPS=${GROUPS}
# will compile with image output
OPTIONS_DEFINE= GUI DOCS
@@ -34,7 +41,7 @@ PLIST_FILES= bin/vnstat \
etc/vnstat.conf.sample
.if ${PORT_OPTIONS:MGUI}
-LIB_DEPENDS+= gd.4:${PORTSDIR}/graphics/gd
+LIB_DEPENDS+= gd:${PORTSDIR}/graphics/gd
PLIST_SUB+= GUI=""
MAN1+= vnstati.1
.else
diff --git a/net/vnstat/files/vnstat.in b/net/vnstat/files/vnstat.in
new file mode 100644
index 000000000000..735a72d0b6cd
--- /dev/null
+++ b/net/vnstat/files/vnstat.in
@@ -0,0 +1,40 @@
+#!/bin/sh
+# Created by: Mark Felder <feld@feld.me>
+# $FreeBSD$
+
+# PROVIDE: vnstat
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+# Add the following line to /etc/rc.conf to enable vnstat:
+#
+# vnstat_enable="YES"
+# vnstat_flags="-d -p ${vnstat_pidfile} --config %%PREFIX%%/etc/vnstat.cfg"
+# vnstat_pidfile="/var/run/vnstat/vnstat.pid"
+
+. /etc/rc.subr
+
+name=vnstat
+rcvar=vnstat_enable
+load_rc_config $name
+
+vnstat_enable=${vnstat_enable-"NO"}
+vnstat_pidfile=${vnstat_pidfile-"/var/run/vnstat/vnstat.pid"}
+vnstat_flags=${vnstat_flags-"-d -p ${vnstat_pidfile} --config %%PREFIX%%/etc/vnstat.cfg"}
+vnstat_user=${vnstat_user-"%%USERS%%"}
+vnstat_group=${vnstat_group-"%%GROUPS%%"}
+
+command="%%PREFIX%%/bin/vnstatd"
+command_args="${vnstat_flags}"
+pidfile="${vnstat_pidfile}"
+
+start_precmd=vnstat_startprecmd
+
+vnstat_startprecmd()
+{
+ if [ ! -e ${pidfile%/*} ]; then
+ install -d -o ${vnstat_user} -g ${vnstat_group} ${pidfile%/*}
+ fi
+}
+
+run_rc_command "$1"