1#!/usr/local/bin/bash
2### BEGIN INIT INFO
3# Provides:          svnpubsub
4# Required-Start:    $remote_fs
5# Required-Stop:     $remote_fs
6# Default-Start:     2 3 4 5
7# Default-Stop:      0 1 6
8# Short-Description: SvnPubSub
9# Description:       start SvnPubSub daemon
10#### END INIT INFO
11
12. /lib/init/vars.sh
13. /lib/lsb/init-functions
14
15svnpubsub_user=${svnpubsub_user-"daemon"}
16svnpubsub_group=${svnpubsub_group-"daemon"}
17svnpubsub_reactor=${svnpubsub_reactor-"poll"}
18svnpubsub_pidfile=${svnpubsub_pidfile-"/var/run/svnpubsub.pid"}
19pidfile="${svnpubsub_pidfile}"
20
21TWSITD_CMD="/usr/bin/twistd -y /opt/svnpubsub/svnpubsub.tac \
22            --logfile=/var/log/svnpubsub/svnpubsub.log \
23            --pidfile=${pidfile} \
24            --uid=${svnpubsub_user} --gid=${svnpubsub_user} \
25            -r${svnpubsub_reactor}"
26
27RETVAL=0
28
29start() {
30    echo "Starting SvnPubSub Server: "
31    $TWSITD_CMD
32    RETVAL=$?
33    [ $RETVAL -eq 0 ] && echo "ok" || echo "failed"
34    return $RETVAL
35}
36
37stop() {
38    echo "Stopping SvnPubSub Server: "
39    THE_PID=`cat ${pidfile}`
40    kill $THE_PID
41    RETVAL=$?
42    [ $RETVAL -eq 0 ] && echo "ok" || echo "failed"
43    return $RETVAL
44}
45
46case "$1" in
47    start)
48        start
49        ;;
50    stop)
51        stop
52        ;;
53    restart)
54        stop
55        start
56        ;;
57    *)
58        echo "Usage: $0 {start|stop|restart}"
59        exit 1
60esac
61
62exit $RETVAL
63