Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
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

  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