From: Joachim Wiberg <troglobit@gmail.com>
To: buildroot@buildroot.org
Cc: Joachim Wiberg <troglobit@gmail.com>, thomas.petazzoni@bootlin.com
Subject: [Buildroot] [PATCH next 2/3] package/inadyn: refactor start script
Date: Sun, 5 Dec 2021 11:29:05 +0100 [thread overview]
Message-ID: <20211205102907.2836980-3-troglobit@gmail.com> (raw)
In-Reply-To: <20211205102907.2836980-1-troglobit@gmail.com>
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>
---
package/inadyn/S70inadyn | 100 +++++++++++++++++++++++++--------------
1 file changed, 65 insertions(+), 35 deletions(-)
mode change 100644 => 100755 package/inadyn/S70inadyn
diff --git a/package/inadyn/S70inadyn b/package/inadyn/S70inadyn
old mode 100644
new mode 100755
index ca7b414678..d44acacec3
--- a/package/inadyn/S70inadyn
+++ b/package/inadyn/S70inadyn
@@ -1,44 +1,74 @@
#!/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 $?
--
2.25.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2021-12-05 10:29 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-05 10:29 [Buildroot] [PATCH next 0/3] package/inadyn: start script rework + repost Joachim Wiberg
2021-12-05 10:29 ` [Buildroot] [PATCH next 1/3] package/inadyn: replace local systemd unit file with upstream Joachim Wiberg
2021-12-05 10:32 ` Joachim Wiberg
2021-12-05 10:29 ` Joachim Wiberg [this message]
2022-01-09 8:57 ` [Buildroot] [PATCH next 2/3] package/inadyn: refactor start script Peter Korsgaard
2021-12-05 10:29 ` [Buildroot] [PATCH next 3/3] package/inadyn: update inadyn.conf example Joachim Wiberg
2021-12-11 20:42 ` Arnout Vandecappelle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211205102907.2836980-3-troglobit@gmail.com \
--to=troglobit@gmail.com \
--cc=buildroot@buildroot.org \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).