From: Benoît Thébaudeau Date: Tue, 13 Oct 2015 10:26:40 +0000 (+0200) Subject: package/rng-tools: add SysV init script X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f54df529dad900ca6a6ec992005b428853d2569a;p=buildroot.git 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 Signed-off-by: Thomas Petazzoni --- diff --git a/package/rng-tools/S21rngd b/package/rng-tools/S21rngd new file mode 100755 index 0000000000..b38be5a507 --- /dev/null +++ b/package/rng-tools/S21rngd @@ -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 diff --git a/package/rng-tools/rng-tools.mk b/package/rng-tools/rng-tools.mk index 7e975e048e..cc07bdf15c 100644 --- a/package/rng-tools/rng-tools.mk +++ b/package/rng-tools/rng-tools.mk @@ -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