[Buildroot] [git commit] package/smcroute: add sysv init script
Arnout Vandecappelle (Essensium/Mind)
arnout at mind.be
Sat Sep 11 14:27:19 UTC 2021
commit: https://git.buildroot.net/buildroot/commit/?id=7b7be053b8b6f763b54a662020e84edc3b202d2b
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
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 at gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
---
package/smcroute/S41smcroute | 48 ++++++++++++++++++++++++++++++++++++++++++++
package/smcroute/smcroute.mk | 5 +++++
2 files changed, 53 insertions(+)
diff --git a/package/smcroute/S41smcroute b/package/smcroute/S41smcroute
new file mode 100755
index 0000000000..bdc0f87645
--- /dev/null
+++ b/package/smcroute/S41smcroute
@@ -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
diff --git a/package/smcroute/smcroute.mk b/package/smcroute/smcroute.mk
index e4ee81db6f..9cce0acbbc 100644
--- a/package/smcroute/smcroute.mk
+++ b/package/smcroute/smcroute.mk
@@ -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))
More information about the buildroot
mailing list