Update net-mgmt/devmon to version 0.3.1.b1_3
[dports.git] / net-mgmt / devmon / files / devmon.in
1 #!/bin/sh
2 # $FreeBSD: head/net-mgmt/devmon/files/devmon.in 353886 2014-05-12 18:15:08Z feld $
3 # PROVIDE: devmon
4 # REQUIRE: LOGIN
5 # KEYWORD: shutdown
6
7 . /etc/rc.subr
8
9 name=devmon
10 rcvar=devmon_enable
11 load_rc_config ${name}
12
13 : ${devmon_enable:=NO}
14 : ${devmon_config="%%PREFIX%%/devmon/devmon.cfg"}
15 : ${devmon_db="%%PREFIX%%/devmon/hosts.db"}
16 : ${devmon_pid=/var/run/devmon/devmon.pid}
17 : ${devmon_user="%%USERS%%"}
18 : ${devmon_group="%%GROUPS%%"}
19
20 command="%%PREFIX%%/devmon/devmon"
21 command_args="-c ${devmon_config} -d ${devmon_db}"
22 command_interpreter=/usr/local/bin/perl
23 pidfile=${devmon_pid}
24
25 start_precmd=devmon_startprecmd
26 status_cmd=devmon_statuscmd
27 stop_cmd=devmon_stopcmd
28
29 devmon_startprecmd()
30 {
31         if [ ! -e ${devmon_config} ];
32                 then
33                 echo "Error: ${devmon_config} does not exist."
34         exit 1;
35         fi
36
37         TEMPLATESDIR=%%PREFIX%%/devmon/templates
38         if [ ! -e ${TEMPLATESDIR} ]; then
39                 echo ""
40                 echo "  ERROR: no templates exist. Please install device templates"
41                 echo "  to: ${TEMPLATESDIR}"
42                 echo "  They are available on the devmon SourceForge page via SVN."
43                 echo "  Note, the older template tarballs do not work reliably."
44                 echo ""
45                 echo "  # svn co svn://svn.code.sf.net/p/devmon/code/trunk/templates ${TEMPLATESDIR}"
46                 echo ""
47                 exit 1;
48         fi
49
50         DEVMONLOG=$(grep "^LOGFILE=" ${devmon_config} | awk -F '=' '{print $2}')
51         if [ ! -e ${DEVMONLOG} ]; then
52                 install -o devmon -g devmon /dev/null ${DEVMONLOG}
53         fi
54
55         if [ ! -d /var/run/devmon ]; then
56                 install -o devmon -g devmon /dev/null /var/run/devmon
57         fi
58 }
59
60 devmon_statuscmd()
61 {
62         if [ ! -e ${pidfile} ]; then
63                 echo "pidfile does not exist. ${name} is not running?";
64                 exit 1;
65         fi
66
67         if pgrep -F ${pidfile} >/dev/null; then
68                 echo "${name} is running.";
69         else
70                 echo "${name} is not running.";
71                 exit 1;
72         fi
73 }
74
75 devmon_stopcmd()
76 {
77         if pgrep -F ${pidfile} >/dev/null; then
78                 mypid=`cat ${pidfile}`;
79                 kill ${sig_stop} ${mypid};
80                 wait_for_pids ${mypid};
81         else
82                 echo "${name} is not running.";
83                 exit 1;
84         fi
85 }
86
87 run_rc_command "$1"