Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Please consider adding an init script #9

Closed
bombadil opened this issue Sep 29, 2014 · 2 comments
Closed

Please consider adding an init script #9

bombadil opened this issue Sep 29, 2014 · 2 comments

Comments

@bombadil
Copy link
Collaborator

Hi,

currently I am using the following init script in the Debian package. It might be useful to other distributions as well, so feel free to include it in the smcroute source.

#! /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
@troglobit
Copy link
Owner

Sure, what should we call it, smcroute.init?

@bombadil
Copy link
Collaborator Author

In the source tarball? What ever you like it. I would only expect it to get installed as /etc/init.d/smcroute though.

troglobit added a commit that referenced this issue Sep 29, 2014
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants