dbc7e87f72bd28f9a6726c7c4963f63053a1daf4
[ngircd-alex.git] / contrib / Debian / ngircd.init
1 #!/bin/sh
2 #
3 # ngIRCd start and stop script for Debian-based systems
4 #
5 # $Id: ngircd.init,v 1.5 2005/06/01 21:51:11 alex Exp $
6 #
7
8 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
9 DAEMON=/usr/sbin/ngircd
10 NAME=ngIRCd
11 DESC="IRC daemon"
12 PARAMS=""
13
14 test -h "$0" && BASENAME=`readlink $0` || BASENAME=`basename $0`
15
16 test -f /etc/default/$BASENAME && . /etc/default/$BASENAME
17
18 test -x $DAEMON || exit 0
19
20 Check_Config()
21 {
22         $DAEMON --configtest >/dev/null 2>&1
23         if [ $? -ne 0 ]; then
24                 echo "Configuration of $NAME is not valide, won't (re)start!"
25                 echo "Please run \"$DAEMON --configtest\" manually and fix it up ..."
26                 exit 1
27         fi
28 }
29
30 Try_Start()
31 {
32         [ ! -d /var/run/ircd ] || chown irc:irc /var/run/ircd
33         start-stop-daemon --start --quiet --exec $DAEMON -- $PARAMS
34         if [ $? -ne 0 ]; then
35                 echo "$NAME failed!"
36                 exit 1
37         fi
38         echo "$NAME."
39 }
40
41 case "$1" in
42   start)
43         Check_Config
44         echo -n "Starting $DESC: "
45         Try_Start
46         ;;
47   stop)
48         echo -n "Stopping $DESC: "
49         start-stop-daemon --stop --quiet --pidfile /var/run/ircd/ngircd.pid --exec $DAEMON \
50           && echo "$NAME." \
51           || echo "(none running)"
52         ;;
53   reload|force-reload)
54         Check_Config
55         echo "Reloading $DESC configuration files."
56         start-stop-daemon --stop --signal 1 --quiet --exec $DAEMON
57         ;;
58   restart)
59         Check_Config
60         echo -n "Restarting $DESC: "
61         start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
62         sleep 1
63         Try_Start
64         ;;
65   *)
66         N=/etc/init.d/$NAME
67         echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
68         exit 1
69         ;;
70 esac
71
72 exit 0
73
74 # -eof-