package/pigpio: add sysv and systemd init scripts

Signed-off-by: Grzegorz Blach <grzegorz@blach.pl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Grzegorz Blach 2020-09-07 11:34:26 +02:00 committed by Thomas Petazzoni
parent 0d648e02ca
commit 6e2b9d8cca
3 changed files with 70 additions and 0 deletions

50
package/pigpio/S50pigpio Normal file
View File

@ -0,0 +1,50 @@
#!/bin/sh
DAEMON="pigpiod"
PIDFILE="/var/run/pigpio.pid"
PIGPIOD_ARGS=""
[ -r "/etc/default/pigpio" ] && . "/etc/default/pigpio"
start() {
printf 'Starting %s: ' "$DAEMON"
start-stop-daemon -S -q -x "/usr/bin/$DAEMON" -- $PIGPIOD_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
rm -f "$PIDFILE"
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
restart() {
stop
sleep 1
start
}
case "$1" in
start|stop|restart)
"$1";;
reload)
# Restart, since there is no true "reload" feature.
restart;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac

View File

@ -38,4 +38,14 @@ define PIGPIO_INSTALL_STAGING_CMDS
ln -sf libpigpiod_if2.so.1 $(STAGING_DIR)/usr/lib/libpigpiod_if2.so ln -sf libpigpiod_if2.so.1 $(STAGING_DIR)/usr/lib/libpigpiod_if2.so
endef endef
define PIGPIO_INSTALL_INIT_SYSV
$(INSTALL) -D -m 755 package/pigpio/S50pigpio \
$(TARGET_DIR)/etc/init.d/S50pigpio
endef
define PIGPIO_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/pigpio/pigpio.service \
$(TARGET_DIR)/usr/lib/systemd/system/pigpio.service
endef
$(eval $(generic-package)) $(eval $(generic-package))

View File

@ -0,0 +1,10 @@
[Unit]
Description=Pigpio daemon
After=network.target
[Service]
EnvironmentFile=-/etc/default/pigpio
ExecStart=/usr/bin/pigpiod -g $PIGPIOD_ARGS
[Install]
WantedBy=multi-user.target