package/rng-tools: add SysV init script

[Thomas: minor adjustments to make the script look more like our
standard init scripts.]

Signed-off-by: Benoît Thébaudeau <benoit@wsystem.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Benoît Thébaudeau 2015-10-13 12:26:40 +02:00 committed by Thomas Petazzoni
parent f061efd8e5
commit f54df529da
2 changed files with 53 additions and 0 deletions

48
package/rng-tools/S21rngd Executable file
View File

@ -0,0 +1,48 @@
#!/bin/sh
NAME="rngd"
DAEMON="/usr/sbin/${NAME}"
DAEMON_ARGS=""
CFG_FILE="/etc/default/${NAME}"
PID_FILE="/var/run/${NAME}.pid"
# Read configuration variable file if it is present
[ -r "${CFG_FILE}" ] && . "${CFG_FILE}"
start()
{
printf "Starting ${NAME}: "
start-stop-daemon -S -q -x "${DAEMON}" -- ${DAEMON_ARGS}
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
stop()
{
printf "Stopping ${NAME}: "
# This daemon does not exit properly with the default TERM signal unless
# it's forced to work by something reading /dev/random. Killing it and
# removing its PID file is more straightforward.
if start-stop-daemon -K -q -s KILL -p "${PID_FILE}" -n "${NAME}"; then
rm -f "${PID_FILE}"
echo "OK"
else
echo "FAIL"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart|reload}" >&2
exit 1
;;
esac

View File

@ -22,6 +22,11 @@ else
RNG_TOOLS_CONF_OPTS += --without-libgcrypt
endif
define RNG_TOOLS_INSTALL_INIT_SYSV
$(INSTALL) -D -m 755 package/rng-tools/S21rngd \
$(TARGET_DIR)/etc/init.d/S21rngd
endef
define RNG_TOOLS_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/rng-tools/rngd.service \
$(TARGET_DIR)/usr/lib/systemd/system/rngd.service