summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenoît Thébaudeau <benoit@wsystem.com>2015-10-13 12:26:40 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-10-13 22:59:25 +0200
commitf54df529dad900ca6a6ec992005b428853d2569a (patch)
tree48de4501d61f0169b4a0d7e2daf28df0e16e0d21
parentf061efd8e565ec068363e2c7d4a70f5b81eeafc5 (diff)
downloadbuildroot-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-xpackage/rng-tools/S21rngd48
-rw-r--r--package/rng-tools/rng-tools.mk5
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
OpenPOWER on IntegriCloud