old mode 100644
new mode 100755
@@ -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 $?
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