Update net-mgmt/devmon to version 0.3.1.b1_2
[dports.git] / net-mgmt / devmon / files / devmon.in
1 #!/bin/sh
2 # $FreeBSD: net-mgmt/devmon/files/devmon.in 319151 2013-05-27 02:29:49Z swills $
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/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} ]
39                 then
40                 echo ""
41                 echo "  ERROR: no templates exist. Please install device templates"
42                 echo "  to: ${TEMPLATESDIR}"
43                 echo "  They are available on the devmon SourceForge page via SVN."
44                 echo "  Note, the older template tarballs do not work reliably."
45                 echo ""
46                 echo "  # svn co svn://svn.code.sf.net/p/devmon/code/trunk/templates ${TEMPLATESDIR}"
47                 echo ""
48         exit 1;
49         fi
50
51         DEVMONLOG=$(grep "^LOGFILE=" ${devmon_config} | awk -F '=' '{print $2}')
52         if [ ! -e ${DEVMONLOG} ];
53                 then
54                 install -o devmon -g devmon /dev/null ${DEVMONLOG}
55         fi
56 }
57
58 devmon_statuscmd()
59 {
60         if [ ! -e ${pidfile} ];
61                 then
62                 echo "pidfile does not exist. ${name} is not running?";
63         exit 1;
64         fi
65
66         if pgrep -F ${pidfile} >/dev/null;
67                 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;
78                 then
79                 mypid=`cat ${pidfile}`;
80                 kill ${sig_stop} ${mypid};
81                 wait_for_pids ${mypid};
82         else
83                 echo "${name} is not running.";
84         exit 1;
85         fi
86 }
87
88 run_rc_command "$1"