From: Joachim Wiberg <troglobit@gmail.com>
To: buildroot@buildroot.org
Cc: Joachim Wiberg <troglobit@gmail.com>
Subject: [Buildroot] [PATCH 4/5] package/inadyn: refactor start script
Date: Mon, 22 Nov 2021 03:08:03 +0100 [thread overview]
Message-ID: <20211122020804.535891-5-troglobit@gmail.com> (raw)
In-Reply-To: <20211122020804.535891-1-troglobit@gmail.com>
This patch is a complete rewrite of the start script, reducing code
duplication by using a helper cmd() function and adding support for:
- INADYN_ARGS that can be overridden from /etc/default/inadyn
- reload command that sends SIGHUP
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
---
package/inadyn/S70inadyn | 85 +++++++++++++++++++++++-----------------
1 file changed, 49 insertions(+), 36 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..1eab33b5fc
--- a/package/inadyn/S70inadyn
+++ b/package/inadyn/S70inadyn
@@ -1,44 +1,57 @@
#!/bin/sh
#
-# Start & stop the inadyn client
-#
+# Note: must be explicitly enabled by adding ENABLED="yes"
+# to /etc/default/inadyn, which also can be used to
+# override the default INADYN_ARGS
-CONFIG=/etc/inadyn.conf
+NAME="inadyn"
+INADYN_ARGS="-s"
+PIDFILE="/var/run/$NAME.pid"
-# check if CONFIG exists, print message & exit if it doesn't
-[ ! -f $CONFIG ] && ( echo "The config file "$CONFIG" is missing...exiting now." && exit 2 )
+# shellcheck source=/dev/null
+[ -r "/etc/default/$NAME" ] && . "/etc/default/$NAME"
-# 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
+cmd()
+{
+ if [ "$ENABLED" != "yes" ]; then
+ echo "SKIPPED"
+ exit 0
+ fi
+ start-stop-daemon -q -p "$PIDFILE" -x "/usr/sbin/$NAME" "$@"
+ 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}"
- exit 1
-esac
+ start)
+ printf 'Starting %s: ' "$NAME"
+ # shellcheck disable=SC2086 # we need the word splitting
+ cmd -S -- $INADYN_ARGS
+ ;;
+
+ stop)
+ printf 'Stopping %s: ' "$NAME"
+ cmd -K
+ rm -f "$PIDFILE"
+ ;;
-exit $?
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+
+ reload)
+ printf 'Reloading %s: ' "$NAME"
+ cmd -K -s HUP
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|restart|reload}"
+ exit 1
+esac
--
2.25.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2021-11-22 2:08 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-22 2:07 [Buildroot] [PATCH 0/5] package/inadyn: bump version, script refactor, etc Joachim Wiberg
2021-11-22 2:08 ` [Buildroot] [PATCH 1/5] package/inadyn: bump to version 2.9.0 Joachim Wiberg
2021-12-04 22:13 ` Thomas Petazzoni
2021-11-22 2:08 ` [Buildroot] [PATCH 2/5] DEVELOPERS: add Joachim Wiberg as maintainer for inadyn Joachim Wiberg
2021-12-04 22:12 ` Thomas Petazzoni
2021-11-22 2:08 ` [Buildroot] [PATCH 3/5] package/inadyn: replace local systemd unit file with upstream Joachim Wiberg
2021-12-04 22:13 ` Thomas Petazzoni
2021-11-22 2:08 ` Joachim Wiberg [this message]
2021-12-04 22:15 ` [Buildroot] [PATCH 4/5] package/inadyn: refactor start script Thomas Petazzoni
2021-12-05 7:56 ` Joachim Wiberg
2021-11-22 2:08 ` [Buildroot] [PATCH 5/5] package/inadyn: update inadyn.conf example Joachim Wiberg
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=20211122020804.535891-5-troglobit@gmail.com \
--to=troglobit@gmail.com \
--cc=buildroot@buildroot.org \
/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