From 82712c5862badbc905346afb6ad08c4d4ff47dfb Mon Sep 17 00:00:00 2001 From: Adam Duskett Date: Wed, 21 Jul 2021 14:45:16 -0700 Subject: [PATCH] package/polkit: add init S50polkit script The Polkit source does not come with non-systemd init script. Add one that is modeled after package/busybox/S01syslogd. Signed-off-by: Adam Duskett Signed-off-by: Thomas Petazzoni --- package/polkit/S50polkit | 51 ++++++++++++++++++++++++++++++++++++++++ package/polkit/polkit.mk | 5 ++++ 2 files changed, 56 insertions(+) create mode 100755 package/polkit/S50polkit diff --git a/package/polkit/S50polkit b/package/polkit/S50polkit new file mode 100755 index 0000000000..f07e2d613b --- /dev/null +++ b/package/polkit/S50polkit @@ -0,0 +1,51 @@ +#!/bin/sh + +DAEMON="polkitd" +DAEMON_PATH="/usr/lib/polkit-1/${DAEMON}" +PIDFILE="/var/run/${DAEMON}.pid" +POLKITD_ARGS="--no-debug" + +# polkitd does not create a pidfile, so pass "-n" in the command line +# and use "-m" to instruct start-stop-daemon to create one. +start() { + printf 'Starting %s: ' "${DAEMON}" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -bmSqp "$PIDFILE" -x ${DAEMON_PATH} -- ${POLKITD_ARGS} + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "${DAEMON}" + start-stop-daemon -Kqp "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + rm -f "$PIDFILE" + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +case "$1" in + start|stop|restart|reload) + "$1";; + reload) + # Restart, since there is no true "reload" feature. + restart;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/polkit/polkit.mk b/package/polkit/polkit.mk index f48c103a52..d5b3955ddb 100644 --- a/package/polkit/polkit.mk +++ b/package/polkit/polkit.mk @@ -57,4 +57,9 @@ define POLKIT_INSTALL_INIT_SYSTEMD endef +define POLKIT_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/polkit/S50polkit \ + $(TARGET_DIR)/etc/init.d/S50polkit +endef + $(eval $(autotools-package))