summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/conf/distro/include/maintainers.inc1
-rw-r--r--meta/recipes-support/rng-tools/rng-tools/default1
-rw-r--r--meta/recipes-support/rng-tools/rng-tools/init42
-rw-r--r--meta/recipes-support/rng-tools/rng-tools/rng-tools.service32
-rw-r--r--meta/recipes-support/rng-tools/rng-tools_6.16.bb69
5 files changed, 145 insertions, 0 deletions
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 31023021ac..8dc63b138e 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -739,6 +739,7 @@ RECIPE_MAINTAINER:pn-repo = "Unassigned <unassigned@yoctoproject.org>"
739RECIPE_MAINTAINER:pn-resolvconf = "Chen Qi <Qi.Chen@windriver.com>" 739RECIPE_MAINTAINER:pn-resolvconf = "Chen Qi <Qi.Chen@windriver.com>"
740RECIPE_MAINTAINER:pn-rgb = "Unassigned <unassigned@yoctoproject.org>" 740RECIPE_MAINTAINER:pn-rgb = "Unassigned <unassigned@yoctoproject.org>"
741RECIPE_MAINTAINER:pn-rpcbind = "Hongxu Jia <hongxu.jia@windriver.com>" 741RECIPE_MAINTAINER:pn-rpcbind = "Hongxu Jia <hongxu.jia@windriver.com>"
742RECIPE_MAINTAINER:pn-rng-tools = "Anuj Mittal <anuj.mittal@intel.com>"
742RECIPE_MAINTAINER:pn-rpcsvc-proto = "Khem Raj <raj.khem@gmail.com>" 743RECIPE_MAINTAINER:pn-rpcsvc-proto = "Khem Raj <raj.khem@gmail.com>"
743RECIPE_MAINTAINER:pn-rpm = "Unassigned <unassigned@yoctoproject.org>" 744RECIPE_MAINTAINER:pn-rpm = "Unassigned <unassigned@yoctoproject.org>"
744RECIPE_MAINTAINER:pn-rsync = "Yi Zhao <yi.zhao@windriver.com>" 745RECIPE_MAINTAINER:pn-rsync = "Yi Zhao <yi.zhao@windriver.com>"
diff --git a/meta/recipes-support/rng-tools/rng-tools/default b/meta/recipes-support/rng-tools/rng-tools/default
new file mode 100644
index 0000000000..b9f8e03635
--- /dev/null
+++ b/meta/recipes-support/rng-tools/rng-tools/default
@@ -0,0 +1 @@
EXTRA_ARGS="-r /dev/hwrng"
diff --git a/meta/recipes-support/rng-tools/rng-tools/init b/meta/recipes-support/rng-tools/rng-tools/init
new file mode 100644
index 0000000000..13f0ecd37c
--- /dev/null
+++ b/meta/recipes-support/rng-tools/rng-tools/init
@@ -0,0 +1,42 @@
1#!/bin/sh
2#
3# This is an init script for openembedded
4# Copy it to @SYSCONFDIR@/init.d/rng-tools and type
5# > update-rc.d rng-tools defaults 60
6#
7
8rngd=@SBINDIR@/rngd
9test -x "$rngd" || exit 1
10
11[ -r @SYSCONFDIR@/default/rng-tools ] && . "@SYSCONFDIR@/default/rng-tools"
12
13case "$1" in
14 start)
15 echo -n "Starting random number generator daemon"
16 start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS
17 echo "."
18 ;;
19 stop)
20 echo -n "Stopping random number generator daemon"
21 start-stop-daemon -K -q -n rngd
22 echo "."
23 ;;
24 reload|force-reload)
25 echo -n "Signalling rng daemon restart"
26 start-stop-daemon -K -q -s 1 -x $rngd
27 start-stop-daemon -K -q -s 1 -x $rngd
28 ;;
29 restart)
30 echo -n "Stopping random number generator daemon"
31 start-stop-daemon -K -q -n rngd
32 echo "."
33 echo -n "Starting random number generator daemon"
34 start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS
35 echo "."
36 ;;
37 *)
38 echo "Usage: @SYSCONFDIR@/init.d/rng-tools {start|stop|reload|restart|force-reload}"
39 exit 1
40esac
41
42exit 0
diff --git a/meta/recipes-support/rng-tools/rng-tools/rng-tools.service b/meta/recipes-support/rng-tools/rng-tools/rng-tools.service
new file mode 100644
index 0000000000..5ae2fba215
--- /dev/null
+++ b/meta/recipes-support/rng-tools/rng-tools/rng-tools.service
@@ -0,0 +1,32 @@
1[Unit]
2Description=Hardware RNG Entropy Gatherer Daemon
3DefaultDependencies=no
4Conflicts=shutdown.target
5Before=sysinit.target shutdown.target
6ConditionVirtualization=!container
7
8[Service]
9EnvironmentFile=-@SYSCONFDIR@/default/rng-tools
10ExecStart=@SBINDIR@/rngd -f $EXTRA_ARGS
11CapabilityBoundingSet=CAP_SYS_ADMIN
12IPAddressDeny=any
13LockPersonality=yes
14MemoryDenyWriteExecute=yes
15NoNewPrivileges=yes
16PrivateTmp=yes
17ProtectControlGroups=yes
18ProtectHome=yes
19ProtectHostname=yes
20ProtectKernelModules=yes
21ProtectKernelLogs=yes
22ProtectSystem=strict
23RestrictAddressFamilies=AF_UNIX
24RestrictNamespaces=yes
25RestrictRealtime=yes
26RestrictSUIDSGID=yes
27SystemCallArchitectures=native
28SystemCallErrorNumber=EPERM
29SystemCallFilter=@system-service
30
31[Install]
32WantedBy=sysinit.target
diff --git a/meta/recipes-support/rng-tools/rng-tools_6.16.bb b/meta/recipes-support/rng-tools/rng-tools_6.16.bb
new file mode 100644
index 0000000000..f0aa3ff93f
--- /dev/null
+++ b/meta/recipes-support/rng-tools/rng-tools_6.16.bb
@@ -0,0 +1,69 @@
1SUMMARY = "Random number generator daemon"
2DESCRIPTION = "Check and feed random data from hardware device to kernel"
3HOMEPAGE = "https://github.com/nhorman/rng-tools"
4BUGTRACKER = "https://github.com/nhorman/rng-tools/issues"
5LICENSE = "GPL-2.0-only"
6LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
7DEPENDS = "openssl libcap"
8
9SRC_URI = "git://github.com/nhorman/rng-tools.git;branch=master;protocol=https \
10 file://init \
11 file://default \
12 file://rng-tools.service \
13 "
14SRCREV = "e061c313b95890eb5fa0ada0cd6eec619dafdfe2"
15
16S = "${WORKDIR}/git"
17
18inherit autotools update-rc.d systemd pkgconfig
19
20EXTRA_OECONF = "--without-rtlsdr"
21
22PACKAGECONFIG ??= "libjitterentropy"
23PACKAGECONFIG:libc-musl = "libargp libjitterentropy"
24
25PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone,"
26PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy"
27PACKAGECONFIG[libp11] = "--with-pkcs11,--without-pkcs11,libp11 openssl"
28PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2"
29PACKAGECONFIG[qrypt] = "--with-qrypt,--without-qrypt,curl"
30
31INITSCRIPT_PACKAGES = "${PN}-service"
32INITSCRIPT_NAME:${PN}-service = "rng-tools"
33INITSCRIPT_PARAMS:${PN}-service = "start 03 2 3 4 5 . stop 30 0 6 1 ."
34
35SYSTEMD_PACKAGES = "${PN}-service"
36SYSTEMD_SERVICE:${PN}-service = "rng-tools.service"
37
38CFLAGS += " -DJENT_CONF_ENABLE_INTERNAL_TIMER "
39
40PACKAGES =+ "${PN}-service"
41
42FILES:${PN}-service += " \
43 ${sysconfdir}/init.d/rng-tools \
44 ${sysconfdir}/default/rng-tools \
45"
46
47# Refer autogen.sh in rng-tools
48do_configure:prepend() {
49 cp ${S}/README.md ${S}/README
50}
51
52do_install:append() {
53 install -Dm 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools
54 install -Dm 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools
55 install -Dm 0644 ${WORKDIR}/rng-tools.service \
56 ${D}${systemd_system_unitdir}/rng-tools.service
57 sed -i \
58 -e 's,@SYSCONFDIR@,${sysconfdir},g' \
59 -e 's,@SBINDIR@,${sbindir},g' \
60 ${D}${sysconfdir}/init.d/rng-tools \
61 ${D}${systemd_system_unitdir}/rng-tools.service
62
63 if [ "${@bb.utils.contains('PACKAGECONFIG', 'nistbeacon', 'yes', 'no', d)}" = "yes" ]; then
64 sed -i \
65 -e '/^IPAddressDeny=any/d' \
66 -e '/^RestrictAddressFamilies=/ s/$/ AF_INET AF_INET6/' \
67 ${D}${systemd_system_unitdir}/rng-tools.service
68 fi
69}