package/smcroute: add sysv init script

Same start order as mrouted, start after networking is up.

Custom command line options, like startup delay, or disable multicast
routing by default, can be added to the optional /etc/default/smcroute
env. file.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Joachim Wiberg 2021-08-30 17:30:55 +02:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent 3f81aa885d
commit 7b7be053b8
2 changed files with 53 additions and 0 deletions

48
package/smcroute/S41smcroute Executable file
View File

@ -0,0 +1,48 @@
#!/bin/sh
NAME="smcroute"
DAEMON="smcrouted"
PIDFILE="/var/run/$NAME.pid"
# shellcheck source=/dev/null
[ -r "/etc/default/$NAME" ] && . "/etc/default/$NAME"
cmd()
{
start-stop-daemon -q -p "$PIDFILE" "$@"
status=$?
if [ $status -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return $status
}
case "$1" in
start)
printf 'Starting %s: ' "$DAEMON"
# shellcheck disable=SC2086 # we need the word splitting
cmd -S -x "/usr/sbin/$DAEMON" -- $SMCROUTED_ARGS
;;
stop)
printf 'Stopping %s: ' "$DAEMON"
cmd -K
;;
restart)
$0 stop
sleep 1
$0 start
;;
reload)
printf 'Reloading %s: ' "$DAEMON"
cmd -K -s HUP
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac

View File

@ -19,4 +19,9 @@ else
SMCROUTE_CONF_OPTS += --without-libcap
endif
define SMCROUTE_INSTALL_INIT_SYSV
$(INSTALL) -m 755 -D package/smcroute/S41smcroute \
$(TARGET_DIR)/etc/init.d/S41smcroute
endef
$(eval $(autotools-package))