package/bluez5_utils: add SysV init script
authorMarcin Niestroj <m.niestroj@grinn-global.com>
Mon, 21 Dec 2020 18:29:20 +0000 (19:29 +0100)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Tue, 29 Dec 2020 20:11:39 +0000 (21:11 +0100)
Use generic template for SysV init script, similar to packages like
syslog-ng.

Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/bluez5_utils/S40bluetooth [new file with mode: 0755]
package/bluez5_utils/bluez5_utils.mk

diff --git a/package/bluez5_utils/S40bluetooth b/package/bluez5_utils/S40bluetooth
new file mode 100755 (executable)
index 0000000..ee4abe8
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+DAEMON="bluetoothd"
+PIDFILE="/var/run/$DAEMON.pid"
+
+BLUETOOTHD_ARGS="-n"
+
+# shellcheck source=/dev/null
+[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
+
+start() {
+       printf 'Starting %s: ' "$DAEMON"
+       # shellcheck disable=SC2086 # we need the word splitting
+       start-stop-daemon -S -q -m -b -p "$PIDFILE" -x "/usr/libexec/bluetooth/$DAEMON" \
+               -- $BLUETOOTHD_ARGS
+       status=$?
+       if [ "$status" -eq 0 ]; then
+               echo "OK"
+       else
+               echo "FAIL"
+       fi
+       return "$status"
+}
+
+stop() {
+       printf 'Stopping %s: ' "$DAEMON"
+       start-stop-daemon -K -q -p "$PIDFILE"
+       status=$?
+       if [ "$status" -eq 0 ]; then
+               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"
+       status=$?
+       if [ "$status" -eq 0 ]; then
+               echo "OK"
+       else
+               echo "FAIL"
+       fi
+       return "$status"
+}
+
+case "$1" in
+       start|stop|restart|reload)
+               "$1";;
+       *)
+               echo "Usage: $0 {start|stop|restart|reload}"
+               exit 1
+esac
index f2c8cabcff2513edfe3132203fcd489d940ebc0d..6596516850ed4950d1225cb15dbadf5659eab245 100644 (file)
@@ -133,4 +133,9 @@ else
 BLUEZ5_UTILS_CONF_OPTS += --disable-systemd
 endif
 
+define BLUEZ5_UTILS_INSTALL_INIT_SYSV
+       $(INSTALL) -m 0755 -D package/bluez5_utils/S40bluetooth \
+               $(TARGET_DIR)/etc/init.d/S40bluetooth
+endef
+
 $(eval $(autotools-package))