]> arthur.barton.de Git - ngircd-alex.git/blob - contrib/Debian/ngircd.init
ngircd.init: use LSB logging functions, if available.
[ngircd-alex.git] / contrib / Debian / ngircd.init
1 #!/bin/sh
2 #
3 # ngIRCd start and stop script for Debian-based systems
4 #
5
6 ### BEGIN INIT INFO
7 # Provides:             ircd
8 # Required-Start:       $remote_fs
9 # Required-Stop:        $remote_fs
10 # Should-Start:         $syslog
11 # Should-Stop:          $syslog
12 # Default-Start:        2 3 4 5
13 # Default-Stop:         0 1 6
14 # Short-Description:    Next Generation IRC Server
15 ### END INIT INFO
16
17 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
18 DAEMON=/usr/sbin/ngircd
19 NAME=ngIRCd
20 DESC="IRC daemon"
21 PARAMS=""
22
23 test -h "$0" && me=`readlink $0` || me="$0"
24 BASENAME=`basename $me`
25
26 test -r /etc/default/$BASENAME && . /etc/default/$BASENAME
27
28 test -x $DAEMON || exit 0
29
30 log_daemon_msg() {
31         echo -n "$*"
32 }
33 log_end_msg() {
34         [ "$1" == "0" ] && echo "." || echo " failed!"
35 }
36 log_failure_msg() {
37         echo "$*"
38 }
39
40 test -r /lib/lsb/init-functions && . /lib/lsb/init-functions
41
42 Check_Config()
43 {
44         $DAEMON --configtest >/dev/null 2>&1
45         if [ $? -ne 0 ]; then
46                 log_failure_msg "Configuration of $NAME is not valid, won't (re)start!"
47                 log_failure_msg "Run \"$DAEMON --configtest\" and fix it up ..."
48                 exit 1
49         fi
50         if [ ! -d /var/run/ircd ]; then
51                 mkdir -p /var/run/ircd
52                 chown irc:irc /var/run/ircd
53         fi
54 }
55
56 case "$1" in
57   start)
58         Check_Config
59         log_daemon_msg "Starting $DESC" "$NAME"
60         start-stop-daemon --start \
61                 --quiet --exec $DAEMON -- $PARAMS
62         log_end_msg $?
63         ;;
64   stop)
65         log_daemon_msg "Stopping $DESC" "$NAME"
66         [ -r /var/run/ircd/ngircd.pid ] \
67                 && PIDFILE="--pidfile /var/run/ircd/ngircd.pid" \
68                 || PIDFILE=""
69         start-stop-daemon --stop \
70                 --quiet --oknodo --exec $DAEMON $PIDFILE
71         log_end_msg $?
72         ;;
73   reload|force-reload)
74         Check_Config
75         log_daemon_msg "Reloading $DESC" "$NAME"
76         start-stop-daemon --stop --signal 1 --quiet --exec $DAEMON
77         log_end_msg $?
78         ;;
79   restart)
80         Check_Config
81         log_daemon_msg "Restarting $DESC" "$NAME"
82         [ -r /var/run/ircd/ngircd.pid ] \
83                 && PIDFILE="--pidfile /var/run/ircd/ngircd.pid" \
84                 || PIDFILE=""
85         start-stop-daemon --stop \
86                 --quiet --oknodo --exec $DAEMON $PIDFILE
87         sleep 1
88         start-stop-daemon --start \
89                 --quiet --exec $DAEMON -- $PARAMS
90         log_end_msg $?
91         ;;
92   *)
93         N=/etc/init.d/$NAME
94         echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
95         exit 1
96         ;;
97 esac
98
99 exit 0
100
101 # -eof-