rng-tools: harmonise systemd and sysvinit

this commit will permit to read the option from
/etc/default/rng-tools both from systemd and sysvinit unit file.

(From OE-Core rev: 16ced1a253c74c01ca414db2f1a010c083213b91)

Signed-off-by: Nicola Lunghi <nick83ola@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Nicola Lunghi
2019-06-12 14:00:05 +01:00
committed by Richard Purdie
parent e00d88475d
commit 6f7eaf80f7
4 changed files with 19 additions and 32 deletions

View File

@@ -1,2 +1 @@
# Specify rng device
RNG_DEVICE=/dev/hwrng
EXTRA_ARGS="-r /dev/hwrng"

View File

@@ -1,26 +1,19 @@
#! /bin/sh
#!/bin/sh
#
# This is an init script for openembedded
# Copy it to /etc/init.d/rng-tools and type
# Copy it to @SYSCONFDIR@/init.d/rng-tools and type
# > update-rc.d rng-tools defaults 60
#
rngd=/usr/sbin/rngd
rngd=@SBINDIR@/rngd
test -x "$rngd" || exit 1
if [ -e /etc/default/rng-tools ]; then
. /etc/default/rng-tools
fi
if [ -n "$RNG_DEVICE" ]; then
EXTRA_ARGS="-- -r $RNG_DEVICE"
fi
[ -r @SYSCONFDIR@/default/rng-tools ] && . "@SYSCONFDIR@/default/rng-tools"
case "$1" in
start)
echo -n "Starting random number generator daemon"
start-stop-daemon -S -q -x $rngd $EXTRA_ARGS
start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS
echo "."
;;
stop)
@@ -38,11 +31,11 @@ case "$1" in
start-stop-daemon -K -q -n rngd
echo "."
echo -n "Starting random number generator daemon"
start-stop-daemon -S -q -x $rngd $EXTRA_ARGS
start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS
echo "."
;;
*)
echo "Usage: /etc/init.d/rng-tools {start|stop|reload|restart|force-reload}"
echo "Usage: @SYSCONFDIR@/init.d/rng-tools {start|stop|reload|restart|force-reload}"
exit 1
esac

View File

@@ -5,8 +5,8 @@ After=systemd-udev-settle.service
Before=sysinit.target
[Service]
ExecStart=@SBINDIR@/rngd -f -r /dev/hwrng
SuccessExitStatus=66
EnvironmentFile=-@SYSCONFDIR@/default/rng-tools
ExecStart=@SBINDIR@/rngd -f $EXTRA_ARGS
[Install]
WantedBy=multi-user.target

View File

@@ -44,18 +44,13 @@ do_configure_prepend() {
}
do_install_append() {
install -d "${D}${sysconfdir}/init.d"
install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools
sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir}/,' \
${D}${sysconfdir}/init.d/rng-tools
# Only install the default script when 'sysvinit' is in DISTRO_FEATURES.
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
install -d "${D}${sysconfdir}/default"
install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools
fi
install -d ${D}${systemd_unitdir}/system
install -m 644 ${WORKDIR}/rngd.service ${D}${systemd_unitdir}/system
sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/rngd.service
install -Dm 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools
install -Dm 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools
install -Dm 0644 ${WORKDIR}/rngd.service \
${D}${systemd_system_unitdir}/rngd.service
sed -i \
-e 's,@SYSCONFDIR@,${sysconfdir},' \
-e 's,@SBINDIR@,${sbindir},' \
${D}${sysconfdir}/init.d/rng-tools \
${D}${systemd_system_unitdir}/rngd.service
}