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 <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Adam Duskett 2021-07-21 14:45:16 -07:00 committed by Thomas Petazzoni
parent 5a62f90e36
commit 82712c5862
2 changed files with 56 additions and 0 deletions

51
package/polkit/S50polkit Executable file
View File

@ -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

View File

@ -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))