diff options
author | Benoît Thébaudeau <benoit@wsystem.com> | 2015-10-13 12:26:40 +0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2015-10-13 22:59:25 +0200 |
commit | f54df529dad900ca6a6ec992005b428853d2569a (patch) | |
tree | 48de4501d61f0169b4a0d7e2daf28df0e16e0d21 | |
parent | f061efd8e565ec068363e2c7d4a70f5b81eeafc5 (diff) | |
download | buildroot-f54df529dad900ca6a6ec992005b428853d2569a.tar.gz buildroot-f54df529dad900ca6a6ec992005b428853d2569a.zip |
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>
-rwxr-xr-x | package/rng-tools/S21rngd | 48 | ||||
-rw-r--r-- | package/rng-tools/rng-tools.mk | 5 |
2 files changed, 53 insertions, 0 deletions
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 |