Message ID | 20190910023753.51911-2-matthew.weber@rockwellcollins.com |
---|---|
State | Superseded |
Headers | show |
Series | None | expand |
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
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
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
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
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 --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]
- 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