Date
1 - 1 of 1
[PATCH v3] rng-tools: splitting the rng-tools systemd/sysvinit serivce as a package
Xiangyu Chen
From: Xiangyu Chen <xiangyu.chen@...>
Since we removed the openssh dependency[1] on rng-tools, there are no package requiring
rng-tools in oe-core, meta-oe, meta-virt, and the /dev/random won't block anymore after
linux-5.6[2], one of the reasons for keeping rng-tools build into the image is that it
can be used to test[3], so splitting the rng-tools systemd/systvinit service as a package.
If someone needs rng-tools daemon service, they can enable the rng-tools-service package by
directly.
Reference:
[1] https://git.openembedded.org/openembedded-core/commit/?id=868dfb46d96a27ec9041cb902fb769330277257d
[2] https://github.com/torvalds/linux/commit/30c08efec8884fb106b8e57094baa51bb4c44e32
[3] https://linux.die.net/man/1/rngtest
Signed-off-by: Xiangyu Chen <xiangyu.chen@...>
---
V2 -> V3 changes:
fix missing INITSCRIPT_PACKAGE cause build failed under sysvinit environment
V1 -> V2 changes:
according to the review comments, using FILES/PACKAGES to split the service package instead of adding
a custom variable to disable the rngd daemon.
---
meta/recipes-support/rng-tools/rng-tools_6.16.bb | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/meta/recipes-support/rng-tools/rng-tools_6.16.bb b/meta/recipes-support/rng-tools/rng-tools_6.16.bb
index 4e664a9145..4dfecb7da1 100644
--- a/meta/recipes-support/rng-tools/rng-tools_6.16.bb
+++ b/meta/recipes-support/rng-tools/rng-tools_6.16.bb
@@ -31,13 +31,22 @@ PACKAGECONFIG[libp11] = "--with-pkcs11,--without-pkcs11,libp11 openssl"
PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2"
PACKAGECONFIG[qrypt] = "--with-qrypt,--without-qrypt,curl"
-INITSCRIPT_NAME = "rng-tools"
-INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ."
+INITSCRIPT_PACKAGES = "${PN}-service"
+INITSCRIPT_NAME:${PN}-service = "rng-tools"
+INITSCRIPT_PARAMS:${PN}-service = "start 03 2 3 4 5 . stop 30 0 6 1 ."
-SYSTEMD_SERVICE:${PN} = "rng-tools.service"
+SYSTEMD_PACKAGES = "${PN}-service"
+SYSTEMD_SERVICE:${PN}-service = "rng-tools.service"
CFLAGS += " -DJENT_CONF_ENABLE_INTERNAL_TIMER "
+PACKAGES =+ "${PN}-service"
+
+FILES:${PN}-service += " \
+ ${sysconfdir}/init.d/rng-tools \
+ ${sysconfdir}/default/rng-tools \
+"
+
# Refer autogen.sh in rng-tools
do_configure:prepend() {
cp ${S}/README.md ${S}/README
--
2.34.1
Since we removed the openssh dependency[1] on rng-tools, there are no package requiring
rng-tools in oe-core, meta-oe, meta-virt, and the /dev/random won't block anymore after
linux-5.6[2], one of the reasons for keeping rng-tools build into the image is that it
can be used to test[3], so splitting the rng-tools systemd/systvinit service as a package.
If someone needs rng-tools daemon service, they can enable the rng-tools-service package by
directly.
Reference:
[1] https://git.openembedded.org/openembedded-core/commit/?id=868dfb46d96a27ec9041cb902fb769330277257d
[2] https://github.com/torvalds/linux/commit/30c08efec8884fb106b8e57094baa51bb4c44e32
[3] https://linux.die.net/man/1/rngtest
Signed-off-by: Xiangyu Chen <xiangyu.chen@...>
---
V2 -> V3 changes:
fix missing INITSCRIPT_PACKAGE cause build failed under sysvinit environment
V1 -> V2 changes:
according to the review comments, using FILES/PACKAGES to split the service package instead of adding
a custom variable to disable the rngd daemon.
---
meta/recipes-support/rng-tools/rng-tools_6.16.bb | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/meta/recipes-support/rng-tools/rng-tools_6.16.bb b/meta/recipes-support/rng-tools/rng-tools_6.16.bb
index 4e664a9145..4dfecb7da1 100644
--- a/meta/recipes-support/rng-tools/rng-tools_6.16.bb
+++ b/meta/recipes-support/rng-tools/rng-tools_6.16.bb
@@ -31,13 +31,22 @@ PACKAGECONFIG[libp11] = "--with-pkcs11,--without-pkcs11,libp11 openssl"
PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2"
PACKAGECONFIG[qrypt] = "--with-qrypt,--without-qrypt,curl"
-INITSCRIPT_NAME = "rng-tools"
-INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ."
+INITSCRIPT_PACKAGES = "${PN}-service"
+INITSCRIPT_NAME:${PN}-service = "rng-tools"
+INITSCRIPT_PARAMS:${PN}-service = "start 03 2 3 4 5 . stop 30 0 6 1 ."
-SYSTEMD_SERVICE:${PN} = "rng-tools.service"
+SYSTEMD_PACKAGES = "${PN}-service"
+SYSTEMD_SERVICE:${PN}-service = "rng-tools.service"
CFLAGS += " -DJENT_CONF_ENABLE_INTERNAL_TIMER "
+PACKAGES =+ "${PN}-service"
+
+FILES:${PN}-service += " \
+ ${sysconfdir}/init.d/rng-tools \
+ ${sysconfdir}/default/rng-tools \
+"
+
# Refer autogen.sh in rng-tools
do_configure:prepend() {
cp ${S}/README.md ${S}/README
--
2.34.1