Skip to content

Commit

Permalink
Fix issue #9: Add SysV init script. Courtesy of Debian.
Browse files Browse the repository at this point in the history
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
  • Loading branch information
troglobit committed Sep 29, 2014
1 parent 66dd1b1 commit ff0a2c0
Showing 1 changed file with 82 additions and 0 deletions.
82 changes: 82 additions & 0 deletions smcroute.init
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
#!/bin/sh
#
### BEGIN INIT INFO
# Provides: smcroute
# Required-Start: $syslog $local_fs $network $remote_fs
# Required-Stop: $syslog $local_fs $network $remote_fs
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Static multicast router daemon
# Description: SMCRoute is a tool to manipulate the multicast routes
# of the Linux kernel. It can be used as an alternative
# to dynamic multicast routers like mrouted in situation
# where static multicast routes should be maintained
# and/or no proper IGMP signaling exists.
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/smcroute
DAEMON_OPTS=-d
NAME=smcroute
DESC="static multicast router daemon"

test -x $DAEMON || exit 0

# Include smcroute defaults if available
if [ -f /etc/default/smcroute ] ; then
. /etc/default/smcroute
fi

. /lib/lsb/init-functions

start() {
local error
local result
log_begin_msg "Starting $DESC: $NAME"
error=$(start-stop-daemon --start --quiet \
--exec $DAEMON -- $DAEMON_OPTS 2>&1)
result=$?
if [ "$result" = "0" -a -x /etc/smcroute/startup.sh ]; then
/etc/smcroute/startup.sh
else
log_progress_msg ${error#ERRO: }
fi
log_end_msg $result
}

stop() {
local error
local result
log_begin_msg "Stopping $DESC: $NAME"
error=$($DAEMON -k 2>&1)
result=$?
log_progress_msg ${error#ERRO: }
log_end_msg $result
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart|force-reload)
#
# If the "reload" option is implemented, move the "force-reload"
# option to the "reload" entry above. If not, "force-reload" is
# just the same as "restart".
#
stop
start
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac

exit 0

0 comments on commit ff0a2c0

Please sign in to comment.