diff mbox series

[2/2] package/rng-tools: bump to 6.7

Message ID 20190910023753.51911-2-matthew.weber@rockwellcollins.com
State Superseded
Headers show
Series None | expand

Commit Message

Matt Weber Sept. 10, 2019, 2:37 a.m. UTC
- Add new libsysfs dependency for rng available check
- Remove patch adding special return code when no RNG module is available
- Remove exit code corner case in systemd script
- Add new jitterentropy dependency which always provides a entropy source

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
---
 package/rng-tools/0001-rngd-exit-code.patch | 22 ---------------------
 package/rng-tools/Config.in                 |  2 ++
 package/rng-tools/rng-tools.hash            |  6 +++---
 package/rng-tools/rng-tools.mk              | 17 +++++++++++++---
 package/rng-tools/rngd.service              |  1 -
 5 files changed, 19 insertions(+), 29 deletions(-)
 delete mode 100644 package/rng-tools/0001-rngd-exit-code.patch

Comments

Baruch Siach Sept. 10, 2019, 4:26 a.m. UTC | #1
Hi Matt,

On Mon, Sep 09, 2019 at 09:37:53PM -0500, Matt Weber wrote:
> -RNG_TOOLS_VERSION = 5
> -RNG_TOOLS_SITE = http://downloads.sourceforge.net/project/gkernel/rng-tools/$(RNG_TOOLS_VERSION)
> +RNG_TOOLS_VERSION = 6.7
> +RNG_TOOLS_SITE = $(call github,nhorman,$(RNG_TOOLS_NAME),v$(RNG_TOOLS_VERSION))
>  RNG_TOOLS_LICENSE = GPL-2.0
>  RNG_TOOLS_LICENSE_FILES = COPYING
> +RNG_TOOLS_DEPENDENCIES = libsysfs jitterentropy-library
> +
> +# configure is missing but pkg seems to not be compatible with our autoreconf
> +# mechanism so we have to do it manually instead of using GPM_AUTORECONF = YES

GPM? Just say "autoreconf".

baruch

> +define RNG_TOOLS_RUN_AUTOGEN
> +	cd $(@D) && PATH=$(BR_PATH) ./autogen.sh
> +endef
> +RNG_TOOLS_PRE_CONFIGURE_HOOKS += RNG_TOOLS_RUN_AUTOGEN
Thomas Petazzoni Sept. 10, 2019, 7:57 a.m. UTC | #2
On Mon,  9 Sep 2019 21:37:53 -0500
Matt Weber <matthew.weber@rockwellcollins.com> wrote:

> +# configure is missing but pkg seems to not be compatible with our autoreconf
> +# mechanism so we have to do it manually instead of using GPM_AUTORECONF = YES

Then you need host-automake and host-autoconf in the dependencies, and
potentially host-libtool (if libtool is used).

But how does it fail exactly ? Perhaps it can be fixed instead ?

Thanks,

Thomas
Matt Weber Sept. 10, 2019, 1:05 p.m. UTC | #3
Thomas,

On Tue, Sep 10, 2019 at 2:57 AM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> On Mon,  9 Sep 2019 21:37:53 -0500
> Matt Weber <matthew.weber@rockwellcollins.com> wrote:
>
> > +# configure is missing but pkg seems to not be compatible with our autoreconf
> > +# mechanism so we have to do it manually instead of using GPM_AUTORECONF = YES
>
> Then you need host-automake and host-autoconf in the dependencies, and
> potentially host-libtool (if libtool is used).
>
> But how does it fail exactly ? Perhaps it can be fixed instead ?

None of the files are generated and checked in for use. (Maybe I'm
missing something?  I assume we have to autogen at that point if they
just provide the configure.ac)

Matt
Matt Weber Sept. 10, 2019, 5:55 p.m. UTC | #4
Thomas,


On Tue, Sep 10, 2019 at 2:57 AM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> On Mon,  9 Sep 2019 21:37:53 -0500
> Matt Weber <matthew.weber@rockwellcollins.com> wrote:
>
> > +# configure is missing but pkg seems to not be compatible with our autoreconf
> > +# mechanism so we have to do it manually instead of using GPM_AUTORECONF = YES
>
> Then you need host-automake and host-autoconf in the dependencies, and
> potentially host-libtool (if libtool is used).
>
> But how does it fail exactly ? Perhaps it can be fixed instead ?
>

>>> rng-tools 6.7 Configuring
>>> rng-tools 6.7 Autoreconfiguring
configure.ac:52: installing './compile'
configure.ac:23: installing './config.guess'
configure.ac:23: installing './config.sub'
configure.ac:24: installing './install-sh'
configure.ac:24: installing './missing'
Makefile.am: installing './INSTALL'
Makefile.am: error: required file './README' not found
Makefile.am: installing './depcomp'
parallel-tests: installing './test-driver'
autoreconf: /home/foobar/tmp.SL6zsYai7c-buildroot/output/host/bin/automake
failed with exit status: 1
package/pkg-generic.mk:228: recipe for target
'/accts/mlweber1/tmp.SL6zsYai7c-buildroot/output/build/rng-tools-6.7/.stamp_configured'
failed
make[1]: *** [/home/foobar/tmp.SL6zsYai7c-buildroot/output/build/rng-tools-6.7/.stamp_configured]
Error 1
Makefile:84: recipe for target '_all' failed
make: *** [_all] Error 2
Thomas Petazzoni Sept. 11, 2019, 7:44 a.m. UTC | #5
On Tue, 10 Sep 2019 12:55:34 -0500
Matthew Weber <matthew.weber@rockwellcollins.com> wrote:

> >>> rng-tools 6.7 Configuring
> >>> rng-tools 6.7 Autoreconfiguring  
> configure.ac:52: installing './compile'
> configure.ac:23: installing './config.guess'
> configure.ac:23: installing './config.sub'
> configure.ac:24: installing './install-sh'
> configure.ac:24: installing './missing'
> Makefile.am: installing './INSTALL'
> Makefile.am: error: required file './README' not found

This will be fixed by adjusting the AM_INIT_AUTOMAKE call in
configure.ac to pass the "foreign" argument. See
https://autotools.io/automake/options.html. This can easily be patched,
and if it's the only issue, will allow to use <pkg>_AUTORECONF = YES.

Best regards,

Thomas
diff mbox series

Patch

diff --git a/package/rng-tools/0001-rngd-exit-code.patch b/package/rng-tools/0001-rngd-exit-code.patch
deleted file mode 100644
index 709e20c70d..0000000000
--- a/package/rng-tools/0001-rngd-exit-code.patch
+++ /dev/null
@@ -1,22 +0,0 @@ 
-Exit with a special value when RNG modules are not available
-
-Instead of returning with an error, exit with a special value when the
-RNG kernel modules are not present in the kernel. This is not really a
-hard failure.
-
-Patch borrowed from Fedora, at
-http://pkgs.fedoraproject.org/cgit/rng-tools.git/tree/rngd-exit-code.patch.
-
-Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
-
---- a/rngd.c
-+++ b/rngd.c
-@@ -319,7 +319,7 @@ int main(int argc, char **argv)
- 			message(LOG_DAEMON|LOG_ERR,
- 				"Maybe RNG device modules are not loaded\n");
- 		}
--		return 1;
-+		return 66;
- 	}
- 
- 	if (arguments->verbose) {
diff --git a/package/rng-tools/Config.in b/package/rng-tools/Config.in
index b00477d336..18521bdd90 100644
--- a/package/rng-tools/Config.in
+++ b/package/rng-tools/Config.in
@@ -4,6 +4,8 @@  config BR2_PACKAGE_RNG_TOOLS
 	select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL
 	# For rdrand ligcrypt is required and it's not obvious to users
 	select BR2_PACKAGE_LIBGCRYPT if BR2_i386 || BR2_x86_64
+	select BR2_PACKAGE_LIBSYSFS
+	select BR2_PACKAGE_JITTERENTROPY_LIBRARY
 	help
 	  Daemon to use hardware random number generators.
 
diff --git a/package/rng-tools/rng-tools.hash b/package/rng-tools/rng-tools.hash
index 09769e4622..a0771034fe 100644
--- a/package/rng-tools/rng-tools.hash
+++ b/package/rng-tools/rng-tools.hash
@@ -1,3 +1,3 @@ 
-# From http://sourceforge.net/projects/gkernel/files/rng-tools/5/
-md5	6726cdc6fae1f5122463f24ae980dd68	rng-tools-5.tar.gz
-sha1	3092768ac45315a5dcc0170d05566d1d00dbad96	rng-tools-5.tar.gz
+# Locally computed
+sha256	b85e3530dbf943b6da03ebecaf64d0a4febfcc4f562fc7f8d886483906b15f08  rng-tools-6.7.tar.gz
+sha256	8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  COPYING
diff --git a/package/rng-tools/rng-tools.mk b/package/rng-tools/rng-tools.mk
index bbb1a64c15..058abf8b36 100644
--- a/package/rng-tools/rng-tools.mk
+++ b/package/rng-tools/rng-tools.mk
@@ -4,10 +4,22 @@ 
 #
 ################################################################################
 
-RNG_TOOLS_VERSION = 5
-RNG_TOOLS_SITE = http://downloads.sourceforge.net/project/gkernel/rng-tools/$(RNG_TOOLS_VERSION)
+RNG_TOOLS_VERSION = 6.7
+RNG_TOOLS_SITE = $(call github,nhorman,$(RNG_TOOLS_NAME),v$(RNG_TOOLS_VERSION))
 RNG_TOOLS_LICENSE = GPL-2.0
 RNG_TOOLS_LICENSE_FILES = COPYING
+RNG_TOOLS_DEPENDENCIES = libsysfs jitterentropy-library
+
+# configure is missing but pkg seems to not be compatible with our autoreconf
+# mechanism so we have to do it manually instead of using GPM_AUTORECONF = YES
+define RNG_TOOLS_RUN_AUTOGEN
+	cd $(@D) && PATH=$(BR_PATH) ./autogen.sh
+endef
+RNG_TOOLS_PRE_CONFIGURE_HOOKS += RNG_TOOLS_RUN_AUTOGEN
+
+RNG_TOOLS_CONF_OPTS = \
+	--without-nistbeacon \
+	--without-pkcs11
 
 # Work around for uClibc or musl toolchains which lack argp_*()
 # functions.
@@ -34,5 +46,4 @@  define RNG_TOOLS_INSTALL_INIT_SYSTEMD
 	ln -fs ../../../../usr/lib/systemd/system/rngd.service \
 		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/rngd.service
 endef
-
 $(eval $(autotools-package))
diff --git a/package/rng-tools/rngd.service b/package/rng-tools/rngd.service
index c0bcffe59e..11386d1e5d 100644
--- a/package/rng-tools/rngd.service
+++ b/package/rng-tools/rngd.service
@@ -3,7 +3,6 @@  Description=Hardware RNG Entropy Gatherer Daemon
 
 [Service]
 ExecStart=/usr/sbin/rngd -f $DAEMON_ARGS
-SuccessExitStatus=66
 EnvironmentFile=-/etc/default/rngd
 
 [Install]