* [Buildroot] [git commit] package/inadyn: refactor start script
@ 2022-01-09 8:56 Peter Korsgaard
0 siblings, 0 replies; only message in thread
From: Peter Korsgaard @ 2022-01-09 8:56 UTC (permalink / raw)
To: buildroot
commit: https://git.buildroot.net/buildroot/commit/?id=787f7b58a7fb7c68e1f54573b6c0a29defdc5dcb
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
This patch is a complete rewrite of the Inadyn start script, based on
the BusyBox S01syslogd template. Additional features, compared to the
template, are limited to the ability to:
- Check if enabled, using an ENABLED="yes" from /etc/default/inadyn,
this for compatibility with the previous version of the script
- Override INADYN_ARGS from /etc/default/inadyn
- A reload command that sends SIGHUP, since that works and is both
quicker and a less resource intensive operation
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
package/inadyn/S70inadyn | 96 ++++++++++++++++++++++++++++++------------------
1 file changed, 61 insertions(+), 35 deletions(-)
diff --git a/package/inadyn/S70inadyn b/package/inadyn/S70inadyn
old mode 100644
new mode 100755
index ca7b414678..8a71693cba
--- a/package/inadyn/S70inadyn
+++ b/package/inadyn/S70inadyn
@@ -1,44 +1,70 @@
#!/bin/sh
+# Customizations are sourced from /etc/default/inadyn. For example,
+# override INADYN_ARGS to adjust log level, add a startup delay, etc.
#
-# Start & stop the inadyn client
-#
+# NOTE: to start, add a line ENABLED="yes" to /etc/default/inadyn
+
+DAEMON="inadyn"
+PIDFILE="/var/run/$DAEMON.pid"
+
+INADYN_ARGS=""
-CONFIG=/etc/inadyn.conf
+# shellcheck source=/dev/null
+[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
-# check if CONFIG exists, print message & exit if it doesn't
-[ ! -f $CONFIG ] && ( echo "The config file "$CONFIG" is missing...exiting now." && exit 2 )
+start() {
+ printf 'Starting %s: ' "$DAEMON"
+ if [ "$ENABLED" != "yes" ]; then
+ echo "SKIPPED"
+ exit 0
+ fi
+ # shellcheck disable=SC2086 # we need the word splitting
+ start-stop-daemon -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \
+ -- $INADYN_ARGS
+ status=$?
+ if [ "$status" -eq 0 ]; then
+ echo "OK"
+ else
+ echo "FAIL"
+ fi
+ return "$status"
+}
-# Allow a few customizations from a config file. Especially inadyn
-# must be explicitly enabled by adding ENABLED="yes" in this file.
-test -r /etc/default/inadyn && . /etc/default/inadyn
+stop() {
+ printf 'Stopping %s: ' "$DAEMON"
+ start-stop-daemon -K -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON"
+ status=$?
+ if [ "$status" -eq 0 ]; then
+ rm -f "$PIDFILE"
+ echo "OK"
+ else
+ echo "FAIL"
+ fi
+ return "$status"
+}
+
+restart() {
+ stop
+ sleep 1
+ start
+}
+
+reload() {
+ printf 'Reloading %s: ' "$DAEMON"
+ start-stop-daemon -K -s HUP -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON"
+ status=$?
+ if [ "$status" -eq 0 ]; then
+ echo "OK"
+ else
+ echo "FAIL"
+ fi
+ return "$status"
+}
case "$1" in
- start)
- printf "Starting inadyn: "
- if test "${ENABLED}" != "yes" ; then
- echo "SKIPPED"
- exit 0
- fi
- start-stop-daemon -b -q -S -p /var/run/inadyn.pid -x /usr/sbin/inadyn
- [ $? = 0 ] && echo "OK" || echo "FAIL"
- ;;
- stop)
- printf "Stopping inadyn: "
- if test "${ENABLED}" != "yes" ; then
- echo "SKIPPED"
- exit 0
- fi
- start-stop-daemon -q -K -p /var/run/inadyn.pid -x /usr/sbin/inadyn
- [ $? = 0 ] && echo "OK" || echo "FAIL"
- rm -f /var/run/inadyn.pid
- ;;
- restart)
- "$0" stop
- "$0" start
- ;;
- *)
- echo "Usage: $0 {start|stop|restart}"
+ start|stop|restart|reload)
+ "$1";;
+ *)
+ echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
-
-exit $?
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2022-01-09 8:57 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-09 8:56 [Buildroot] [git commit] package/inadyn: refactor start script Peter Korsgaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).