View | Details | Raw Unified | Return to bug 200786 | Differences between
and this patch

Collapse All | Expand All

(-)freebsd-ports/net-mgmt/pmacct/files/pmacctd.in (-24 / +43 lines)
Lines 1-37 Link Here
1
#!/bin/sh
1
#!/bin/sh
2
#
3
# $FreeBSD$
2
# $FreeBSD$
4
#
5
3
6
# PROVIDE: pmacctd
4
# PROVIDE: pmacctd 
7
# REQUIRE: NETWORKING
5
# REQUIRE: DAEMON
6
# BEFORE: LOGIN
8
# KEYWORD: shutdown
7
# KEYWORD: shutdown
9
8
10
#
11
# Add the following lines to /etc/rc.conf to enable pmacctd:
9
# Add the following lines to /etc/rc.conf to enable pmacctd:
12
#
10
# pmacctd_enable (bool):          Set to YES to enable pmacctd
13
# pmacctd_enable="YES"
11
#                               Default: NO
14
#
12
# pmacctd_flags (str):            Extra flags passed to pmacctd
15
# You can define flags for pmacctd running. See pmacctd(8) for details.
13
#                               Default: -D
16
#
14
# pmacctd_conf (str):             pmacctd configuration file
17
# Example:
15
#                               Default: %%PREFIX%%/etc/pmacctd.conf
18
# pmacctd_flags="-f %%PREFIX%%/etc/pmacctd.conf -i em0"
16
#
19
#
17
# To enable multi interface, use:
20
# Default flags: -f %%PREFIX%%/etc/pmacctd.conf
18
# pmacctd_interfaces="em0 em1"
21
#
19
# defaults will follow, pmacctd_conf becomes 'pmacctd_em0_conf', etc.
22
20
23
. /etc/rc.subr
21
. /etc/rc.subr
24
22
25
name=pmacctd
23
name="pmacctd"
26
rcvar=pmacctd_enable
24
rcvar=pmacctd_enable
27
25
28
command=%%PREFIX%%/sbin/$name
26
command="/usr/local/sbin/pmacctd"
29
command_args="-D"
30
31
# set defaults
32
33
pmacctd_enable=${pmacctd_enable:-"NO"}
34
pmacctd_flags=${pmacctd_flags:-"-f %%PREFIX%%/etc/pmacctd.conf"}
35
27
36
load_rc_config $name
28
load_rc_config $name
37
run_rc_command "$1"
29
30
[ -z "$pmacctd_enable" ]    && pmacctd_enable="NO"
31
[ -z "$pmacctd_conf" ]      && pmacctd_conf="%%PREFIX%%/etc/pmacctd.conf"
32
[ -z "$pmacctd_flags" ]     && pmacctd_flags="-D"
33
34
[ -n "$pmacctd_conf" ]      && pmacctd_flags="$pmacctd_flags -f $pmacctd_conf"
35
36
if [ -n "$pmacctd_interfaces" ]; then
37
  _1=$1
38
  if [ $# -gt 1 ]; then shift; pmacctd_interfaces=$*; fi
39
  pmacctd_conf=""
40
  pmacctd_flags=""
41
  rc=0
42
  for i in ${pmacctd_interfaces}; do
43
        eval _conf=\$pmacctd_${i}_conf
44
        eval _flags=\$pmacctd_${i}_flags 
45
        [ -z "$_flags" ] && _flags="-D"
46
        eval pidfile="/var/run/pmacctd_${i}.pid"
47
48
        command_args="$_flags -F $pidfile -f $_conf -i $i"
49
        run_rc_command "$_1"
50
        if [ $? -ne 0 ]; then rc=1; fi  
51
        unset _pidcmd _rc_restart_done
52
   done
53
   exit $rc
54
else
55
   run_rc_command "$1"
56
fi

Return to bug 200786