]> git.donarmstrong.com Git - deb_pkgs/spamass-milter.git/blob - contrib/spamass-milter.sh
Imported Upstream version 0.4.0
[deb_pkgs/spamass-milter.git] / contrib / spamass-milter.sh
1 #! /bin/sh
2 #
3 # /usr/local/etc/rc.d script for FreeBSD
4 # $Id: spamass-milter.sh,v 1.4 2004/02/09 23:03:29 dnelson Exp $
5
6 # PROVIDE: spamass_milter
7 # KEYWORD: FreeBSD
8
9 . /usr/local/etc/rc.subr
10
11 name=spamass_milter
12 rcvar=`set_rcvar`
13
14 command=/usr/local/sbin/spamass-milter
15
16 # Override the spamass_milter_* variables in one of these files:
17 #       /etc/rc.conf
18 #       /etc/rc.conf.local
19 #       /etc/rc.conf.d/spamass-milter
20 #
21 # DO NOT CHANGE THESE DEFAULT VALUES HERE
22 #
23 # spamass_milter_enable     YES or NO
24 # spamass_milter_flags      extra flags to pass to spamass-milter
25 #
26 # You probably won't need to change these unless you're running as
27 # non-root (see the rc.subr manpage for those flags):
28 #
29 # spamass_milter_pidfile    path to pidfile
30 # spamass_milter_sockfile   path to milter socket
31
32 # load settings
33 load_rc_config $name
34
35 spamass_milter_enable=${spamass_milter_enable:-NO}
36 spamass_milter_pidfile=${spamass_milter_pidfile:-/var/run/spamass-milter.pid}
37 spamass_milter_sockfile=${spamass_milter_sockfile:-/var/run/spamass.sock}
38 pidfile=${spamass_milter_pidfile}
39 spamass_milter_flags="-p $spamass_milter_sockfile -f -P $spamass_milter_pidfile $spamass_milter_flags"
40
41 run_rc_command "$1"
42
43 exit 1
44
45
46 if ! PREFIX=$(expr $(realpath $0) : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
47     echo "$0: Cannot determine the PREFIX - aborting" >&2
48     exit 1
49 fi
50
51 case "$1" in
52 start)
53         rm -f /var/run/spamass.sock
54         [ -x ${PREFIX}/sbin/spamass-milter ] && 
55                 ${PREFIX}/sbin/spamass-milter -p /var/run/spamass.sock -f -P /var/run/spamass-milter.pid && 
56                 echo -n ' spamass-milter'
57         ;;
58 stop)
59         if [ -s /var/run/spamass-milter.pid ] ; then
60                 pid=$(cat /var/run/spamass-milter.pid)
61                 kill -TERM $pid
62                 loop=0
63                 while [ $loop -lt 10 ] ; do
64                         kill -0 $pid >/dev/null 2>&1 || break
65                         [ $loop -eq 1 ] && echo -n "Sleeping for 10 seconds to allow spamass-milter to shutdown"
66                         [ $loop -ge 1 ] && echo -n "."
67                         sleep 1
68                         loop=$(( $loop + 1 ))
69                 done
70                 kill -0 $pid >/dev/null 2>&1 && echo "giving up" || echo "done"
71         fi
72
73         ;;
74 *)
75         echo "Usage: `basename $0` {start|stop}" >&2
76         ;;
77 esac
78
79 exit 0