[OE-core] [PATCH 2/2] rng-tools: 6.6->6.7

nick83ola nick83ola at gmail.com
Thu Jun 6 15:19:37 UTC 2019


posted v2 of this with an extra patch please ignore

On Thu, 6 Jun 2019 at 11:41, Nicola Lunghi <nick83ola at gmail.com> wrote:
>
> update rng-tools to release 6.7
>
> - add new option to compile with pkcs11/libp11 (added in 6.7)
>
> - submitted the following yocto patches upstream (and added as backports):
>     0001-If-the-libc-is-lacking-argp-use-libargp.patch \
>     0002-Add-argument-to-control-the-libargp-dependency.patch \
>     -> squashed in 0008-configure-If-the-libc-is-lacking-argp-use-libargp.patch
>     underquote.patch
>     -> 0010-Fix-underquoted-m4-entry.-This-causes-a-failure-if-g.patch
>     rng-tools-5-fix-textrels-on-PIC-x86.patch
>     -> 0009-Fix-assemby-textrels-on-rdrand_asm.S-on-PIC-x86.patch
>
> - the following patch has been merged upstream: remove
>     0001-configure.ac-fix-typo.patch
>
> - backport the following patches from master
>     0001-Remove-superfluous-variables.patch
>     0002-Fix-a-few-typos-in-log-messages.patch
>     0003-Fix-up-some-compile-warnings.patch
>     0004-Fix-a-race-condition-on-shutdown.patch
>     0005-rngd-prioritize-faster-sources-of-entropy.patch
>     0006-rngd_jitter-replace-non-standard-pthread_yield-with-.patch
>     0007-Make-rngd_pkcs11.c-explicitly-link-against-libcrypto.patch
>
> Signed-off-by: Nicola Lunghi <nick83ola at gmail.com>
> ---
>  ...the-libc-is-lacking-argp-use-libargp.patch |  60 ------
>  .../0001-Remove-superfluous-variables.patch   |  28 +++
>  .../0001-configure.ac-fix-typo.patch          |  27 ---
>  ...nt-to-control-the-libargp-dependency.patch |  95 ----------
>  ...0002-Fix-a-few-typos-in-log-messages.patch |  48 +++++
>  .../0003-Fix-up-some-compile-warnings.patch   | 172 ++++++++++++++++++
>  ...004-Fix-a-race-condition-on-shutdown.patch |  55 ++++++
>  ...prioritize-faster-sources-of-entropy.patch |  72 ++++++++
>  ...ace-non-standard-pthread_yield-with-.patch |  27 +++
>  ....c-explicitly-link-against-libcrypto.patch |  73 ++++++++
>  ...the-libc-is-lacking-argp-use-libargp.patch | 103 +++++++++++
>  ...textrels-on-rdrand_asm.S-on-PIC-x86.patch} |   8 +-
>  ...4-entry.-This-causes-a-failure-if-g.patch} |  16 +-
>  .../{rng-tools_6.6.bb => rng-tools_6.7.bb}    |  18 +-
>  14 files changed, 602 insertions(+), 200 deletions(-)
>  delete mode 100644 meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch
>  create mode 100644 meta/recipes-support/rng-tools/rng-tools/0001-Remove-superfluous-variables.patch
>  delete mode 100644 meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch
>  delete mode 100644 meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch
>  create mode 100644 meta/recipes-support/rng-tools/rng-tools/0002-Fix-a-few-typos-in-log-messages.patch
>  create mode 100644 meta/recipes-support/rng-tools/rng-tools/0003-Fix-up-some-compile-warnings.patch
>  create mode 100644 meta/recipes-support/rng-tools/rng-tools/0004-Fix-a-race-condition-on-shutdown.patch
>  create mode 100644 meta/recipes-support/rng-tools/rng-tools/0005-rngd-prioritize-faster-sources-of-entropy.patch
>  create mode 100644 meta/recipes-support/rng-tools/rng-tools/0006-rngd_jitter-replace-non-standard-pthread_yield-with-.patch
>  create mode 100644 meta/recipes-support/rng-tools/rng-tools/0007-Make-rngd_pkcs11.c-explicitly-link-against-libcrypto.patch
>  create mode 100644 meta/recipes-support/rng-tools/rng-tools/0008-configure-If-the-libc-is-lacking-argp-use-libargp.patch
>  rename meta/recipes-support/rng-tools/rng-tools/{rng-tools-5-fix-textrels-on-PIC-x86.patch => 0009-Fix-assemby-textrels-on-rdrand_asm.S-on-PIC-x86.patch} (94%)
>  rename meta/recipes-support/rng-tools/rng-tools/{underquote.patch => 0010-Fix-underquoted-m4-entry.-This-causes-a-failure-if-g.patch} (77%)
>  rename meta/recipes-support/rng-tools/{rng-tools_6.6.bb => rng-tools_6.7.bb} (72%)
>
> diff --git a/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch b/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch
> deleted file mode 100644
> index 06d1d94369..0000000000
> --- a/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch
> +++ /dev/null
> @@ -1,60 +0,0 @@
> -From 06ba71887f667d45dd231a782a2751f36e8fe025 Mon Sep 17 00:00:00 2001
> -From: Christopher Larson <chris_larson at mentor.com>
> -Date: Mon, 15 Feb 2016 15:59:58 -0700
> -Subject: [PATCH 1/4] If the libc is lacking argp, use libargp
> -
> -Patch pulled from Gentoo:
> -
> -    On glibc systems, argp is provided by libc.  However, on
> -    uclibc and other systems which lack argp in their C library,
> -    argp might be provided by a stand alone library, libargp.
> -    This patch adds tests to the build system to find who provides
> -    argp.
> -
> -    X-Gentoo-Bug: 292191
> -    X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=292191
> -    Reported-by: Ed Wildgoose <gentoo at wildgooses.com>
> -    Signed-off-by: Anthony G. Basile <blueness at gentoo.org>
> -
> -Upstream-Status: Pending
> -Signed-off-by: Christopher Larson <chris_larson at mentor.com>
> ----
> - configure.ac | 22 ++++++++++++++++++++++
> - 1 file changed, 22 insertions(+)
> -
> -diff --git a/configure.ac b/configure.ac
> -index 4e799dc..c4a5dd8 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -135,6 +135,28 @@ AS_IF(
> -       ]
> - )
> -
> -+dnl First check if we have argp available from libc
> -+AC_LINK_IFELSE(
> -+      [AC_LANG_PROGRAM(
> -+              [#include <argp.h>],
> -+              [int argc=1; char *argv[]={"test"}; argp_parse(0,argc,argv,0,0,0); return 0;]
> -+              )],
> -+      [libc_has_argp="true"],
> -+      [libc_has_argp="false"]
> -+)
> -+
> -+dnl If libc doesn't provide argp, then test for libargp
> -+if test "$libc_has_argp" = "false" ; then
> -+      AC_MSG_WARN("libc does not have argp")
> -+      AC_CHECK_LIB([argp], [argp_parse], [have_argp="true"], [have_argp="false"])
> -+
> -+      if test "$have_argp" = "false"; then
> -+              AC_MSG_ERROR("no libargp found")
> -+      else
> -+              LIBS+=" -largp"
> -+      fi
> -+fi
> -+
> - dnl -----------------
> - dnl Configure options
> - dnl -----------------
> ---
> -2.7.4
> -
> diff --git a/meta/recipes-support/rng-tools/rng-tools/0001-Remove-superfluous-variables.patch b/meta/recipes-support/rng-tools/rng-tools/0001-Remove-superfluous-variables.patch
> new file mode 100644
> index 0000000000..32c2858999
> --- /dev/null
> +++ b/meta/recipes-support/rng-tools/rng-tools/0001-Remove-superfluous-variables.patch
> @@ -0,0 +1,28 @@
> +From e3971caa78f16c83bfb6d7537427b935ec603f63 Mon Sep 17 00:00:00 2001
> +From: ideal <idealities at gmail.com>
> +Date: Thu, 21 Mar 2019 15:23:11 +0800
> +Subject: [PATCH 01/10] Remove superfluous variables
> +
> +Upstream-Status: Backport
> +---
> + rngd_linux.c | 3 ---
> + 1 file changed, 3 deletions(-)
> +
> +diff --git a/rngd_linux.c b/rngd_linux.c
> +index b473419..9eca968 100644
> +--- a/rngd_linux.c
> ++++ b/rngd_linux.c
> +@@ -58,10 +58,7 @@ extern int kent_pool_size;
> +  */
> + int default_watermark(void)
> + {
> +-      char psbuf[64], *p;
> +-      unsigned long ps;
> +       FILE *f;
> +-      size_t l;
> +       unsigned int wm = 4096; /* Default guess */
> +
> +       f = fopen("/proc/sys/kernel/random/poolsize", "r");
> +--
> +2.20.1
> +
> diff --git a/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch b/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch
> deleted file mode 100644
> index d4d28a01c4..0000000000
> --- a/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch
> +++ /dev/null
> @@ -1,27 +0,0 @@
> -From 99b0efebd765803203686d89bc4f995bcb103e78 Mon Sep 17 00:00:00 2001
> -From: Hongxu Jia <hongxu.jia at windriver.com>
> -Date: Sat, 10 Nov 2018 09:53:19 +0800
> -Subject: [PATCH] configure.ac: fix typo
> -
> -Upstream-Status: Submitted [https://github.com/nhorman/rng-tools.git]
> -Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> ----
> - configure.ac | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/configure.ac b/configure.ac
> -index 4e799dc..0251928 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -62,7 +62,7 @@ AS_IF([test $target_cpu = powerpc64le], [AC_DEFINE([HAVE_DARN],1,[Enable DARN])]
> - AM_CONDITIONAL([JITTER], [false])
> -
> - AC_ARG_ENABLE(jitterentropy,
> --      AS_HELP_STRING([--disable-jitterntropy | --enable-jitterentropy=<path>],
> -+      AS_HELP_STRING([--disable-jitterentropy | --enable-jitterentropy=<path>],
> -       [Disable jitterentropy source, or specify its location]),
> -       [if [ test -d $enable_jitterentropy ]; then
> -               export LDFLAGS+=-L$enable_jitterentropy;
> ---
> -2.7.4
> -
> diff --git a/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch b/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch
> deleted file mode 100644
> index be60fe97f6..0000000000
> --- a/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch
> +++ /dev/null
> @@ -1,95 +0,0 @@
> -From 711e2f76890e3c5b08f64859d9fd913ddbec7d50 Mon Sep 17 00:00:00 2001
> -From: Christopher Larson <chris_larson at mentor.com>
> -Date: Mon, 22 Oct 2018 15:26:47 +0800
> -Subject: [PATCH 2/4] Add argument to control the libargp dependency
> -
> -This ensures that the builds are always deterministic. If the argument isn't
> -passed, the default behavior is to use libargp if the libc doesn't have argp.
> -
> -Upstream-Status: Pending
> -Signed-off-by: Christopher Larson <chris_larson at mentor.com>
> -
> -Rebase to 6.6
> -Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> ----
> - configure.ac | 55 ++++++++++++++++++++++++++++++++++++-------------------
> - 1 file changed, 36 insertions(+), 19 deletions(-)
> -
> -diff --git a/configure.ac b/configure.ac
> -index c4a5dd8..dd1c30f 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -40,6 +40,13 @@ AC_ARG_WITH([nistbeacon],
> -       [with_nistbeacon=check]
> - )
> -
> -+AC_ARG_WITH([libargp],
> -+      AS_HELP_STRING([--without-libargp],
> -+              [Disable libargp support. Systems whose libc lacks argp can use libargp instead. (Default: check if libc lacks argp)]),
> -+      [with_libargp=$withval],
> -+      [with_libargp=check]
> -+)
> -+
> - dnl Make sure anyone changing configure.ac/Makefile.am has a clue
> - AM_MAINTAINER_MODE
> - AM_PROG_AS
> -@@ -135,27 +142,37 @@ AS_IF(
> -       ]
> - )
> -
> --dnl First check if we have argp available from libc
> --AC_LINK_IFELSE(
> --      [AC_LANG_PROGRAM(
> --              [#include <argp.h>],
> --              [int argc=1; char *argv[]={"test"}; argp_parse(0,argc,argv,0,0,0); return 0;]
> --              )],
> --      [libc_has_argp="true"],
> --      [libc_has_argp="false"]
> -+dnl Determine if we need libargp: either user requested, or libc has no argp
> -+AS_IF(
> -+      [test "x$with_libargp" != "xyes"],
> -+      [
> -+              AC_LINK_IFELSE(
> -+                      [AC_LANG_PROGRAM(
> -+                              [#include <argp.h>],
> -+                              [int argc=1; char *argv[]={"test"}; argp_parse(0,argc,argv,0,0,0); return 0;]
> -+                              )],
> -+                      [need_libargp=no],
> -+                      [need_libargp=yes
> -+                       if test "x$with_libargp" = "xno"; then
> -+                              AC_MSG_FAILURE([libargp disabled and libc does not have argp])
> -+                       fi]
> -+              )
> -+      ],
> -+      [need_libargp=yes],
> - )
> -
> --dnl If libc doesn't provide argp, then test for libargp
> --if test "$libc_has_argp" = "false" ; then
> --      AC_MSG_WARN("libc does not have argp")
> --      AC_CHECK_LIB([argp], [argp_parse], [have_argp="true"], [have_argp="false"])
> --
> --      if test "$have_argp" = "false"; then
> --              AC_MSG_ERROR("no libargp found")
> --      else
> --              LIBS+=" -largp"
> --      fi
> --fi
> -+dnl Check for libargp
> -+AS_IF(
> -+      [test "x$need_libargp" = "xyes"],
> -+      [
> -+              AC_CHECK_LIB(
> -+                      [argp],
> -+                      [argp_parse],
> -+                      [LIBS="$LIBS -largp"],
> -+                      [AC_MSG_FAILURE([libargp not found])]
> -+              )
> -+      ]
> -+)
> -
> - dnl -----------------
> - dnl Configure options
> ---
> -2.7.4
> -
> diff --git a/meta/recipes-support/rng-tools/rng-tools/0002-Fix-a-few-typos-in-log-messages.patch b/meta/recipes-support/rng-tools/rng-tools/0002-Fix-a-few-typos-in-log-messages.patch
> new file mode 100644
> index 0000000000..32163a5162
> --- /dev/null
> +++ b/meta/recipes-support/rng-tools/rng-tools/0002-Fix-a-few-typos-in-log-messages.patch
> @@ -0,0 +1,48 @@
> +From 93a1d001e51c6558e86161060b33c3785d509ac5 Mon Sep 17 00:00:00 2001
> +From: Ruben Kerkhof <ruben at rubenkerkhof.com>
> +Date: Wed, 17 Apr 2019 18:39:09 +0200
> +Subject: [PATCH 02/10] Fix a few typos in log messages
> +
> +---
> + rngd.c        | 4 ++--
> + rngd_jitter.c | 2 +-
> + 2 files changed, 3 insertions(+), 3 deletions(-)
> +
> +diff --git a/rngd.c b/rngd.c
> +index 0d4582a..b854eab 100644
> +--- a/rngd.c
> ++++ b/rngd.c
> +@@ -743,7 +743,7 @@ int main(int argc, char **argv)
> +                       message(LOG_CONS|LOG_INFO, "None");
> +               msg_squash = true;
> +       } else
> +-              message(LOG_DAEMON|LOG_INFO, "\nInitalizing available sources\n");
> ++              message(LOG_DAEMON|LOG_INFO, "\nInitializing available sources\n");
> +
> +       /* Init entropy sources */
> +
> +@@ -753,7 +753,7 @@ int main(int argc, char **argv)
> +                               ent_sources++;
> +                               entropy_sources[i].fipsctx = malloc(sizeof(fips_ctx_t));
> +                               fips_init(entropy_sources[i].fipsctx, discard_initial_data(&entropy_sources[i]));
> +-                              message(LOG_INFO | LOG_DAEMON, "Initalizing entropy source %s\n",
> ++                              message(LOG_INFO | LOG_DAEMON, "Initializing entropy source %s\n",
> +                                       entropy_sources[i].rng_sname);
> +                       } else {
> +                               message(LOG_ERR | LOG_DAEMON, "Failed to init entropy source %s\n",
> +diff --git a/rngd_jitter.c b/rngd_jitter.c
> +index f68e2ca..23d96b3 100644
> +--- a/rngd_jitter.c
> ++++ b/rngd_jitter.c
> +@@ -440,7 +440,7 @@ int init_jitter_entropy_source(struct rng *ent_src)
> +                * Temporarily disable aes so we don't try to use it during init
> +                */
> +
> +-              message(LOG_CONS|LOG_INFO, "Initalizing AES buffer\n");
> ++              message(LOG_CONS|LOG_INFO, "Initializing AES buffer\n");
> +               aes_buf = malloc(tdata[0].buf_sz);
> +               ent_src->rng_options[JITTER_OPT_USE_AES].int_val = 0;
> +               if (xread_jitter(key, AES_BLOCK, ent_src)) {
> +--
> +2.20.1
> +
> diff --git a/meta/recipes-support/rng-tools/rng-tools/0003-Fix-up-some-compile-warnings.patch b/meta/recipes-support/rng-tools/rng-tools/0003-Fix-up-some-compile-warnings.patch
> new file mode 100644
> index 0000000000..63ffe281bc
> --- /dev/null
> +++ b/meta/recipes-support/rng-tools/rng-tools/0003-Fix-up-some-compile-warnings.patch
> @@ -0,0 +1,172 @@
> +From 13beeeeed455306daf899f9e8a97b8b84f2e6c42 Mon Sep 17 00:00:00 2001
> +From: Neil Horman <nhorman at tuxdriver.com>
> +Date: Mon, 29 Apr 2019 15:26:42 -0400
> +Subject: [PATCH 03/10] Fix up some compile warnings
> +
> +fixes issue https://github.com/nhorman/rng-tools/issues/57
> +
> +Signed-off-by: Neil Horman <nhorman at tuxdriver.com>
> +
> +Upstream-Status: Backport
> +---
> + rngd.c            | 10 +++++-----
> + rngd_jitter.c     | 14 +++++---------
> + rngd_linux.c      |  8 ++++++--
> + rngd_nistbeacon.c |  2 +-
> + 4 files changed, 17 insertions(+), 17 deletions(-)
> +
> +diff --git a/rngd.c b/rngd.c
> +index b854eab..1b3d73d 100644
> +--- a/rngd.c
> ++++ b/rngd.c
> +@@ -153,7 +153,7 @@ static enum {
> +       ENT_JITTER,
> +       ENT_PKCS11,
> +       ENT_MAX
> +-} entropy_indexes;
> ++} entropy_indexes __attribute__((used));
> +
> +
> + static struct rng_option drng_options[] = {
> +@@ -358,7 +358,7 @@ static int find_ent_src_idx(const char *name_idx)
> +       } else {
> +               idx = strtoul(name_idx, NULL, 10);
> +               if ((idx == LONG_MAX) || (idx >= ENT_MAX)) {
> +-                      message(LOG_CONS|LOG_INFO, "option index out of range: %lu\n", idx);
> ++                      message(LOG_CONS|LOG_INFO, "option index out of range: %u\n", idx);
> +                       return -ERANGE;
> +               }
> +               message(LOG_CONS|LOG_INFO, "Note, reference of entropy sources by index "
> +@@ -449,7 +449,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
> +                       }
> +                       options++;
> +               }
> +-              message(LOG_CONS|LOG_INFO, "Option %s not found for source idx %d\n", optkey, idx);
> ++              message(LOG_CONS|LOG_INFO, "Option %s not found for source idx %lu\n", optkey, idx);
> +               return -ERANGE;
> +               break;
> +
> +@@ -828,10 +828,10 @@ int main(int argc, char **argv)
> +               test_time = ((test_time * NSECS_IN_SECOND) + (end_test.tv_nsec - start_test.tv_nsec)) / NSECS_IN_SECOND;
> +
> +               if ((sum_entropy/test_time) >= MEGABITS) {
> +-                      message(LOG_CONS|LOG_INFO, "\nEntropy rate: %6.4g Mbits/sec averaged over %d iterations for %6.4g seconds\n",
> ++                      message(LOG_CONS|LOG_INFO, "\nEntropy rate: %6.4g Mbits/sec averaged over %lu iterations for %6.4g seconds\n",
> +                               (sum_entropy/test_time/MEGABITS), test_iterations, test_time);
> +               } else {
> +-                      message(LOG_CONS|LOG_INFO, "\nEntropy rate: %6.4g Kbits/sec averaged over %d iterations for %6.4g seconds\n",
> ++                      message(LOG_CONS|LOG_INFO, "\nEntropy rate: %6.4g Kbits/sec averaged over %lu iterations for %6.4g seconds\n",
> +                               (sum_entropy/test_time/KILOBITS), test_iterations, test_time);
> +               }
> +       }
> +diff --git a/rngd_jitter.c b/rngd_jitter.c
> +index 23d96b3..c08c0d2 100644
> +--- a/rngd_jitter.c
> ++++ b/rngd_jitter.c
> +@@ -38,8 +38,6 @@
> + #include "exits.h"
> + #include "rngd_entsource.h"
> +
> +-static struct rand_data *ec = NULL;
> +-
> + static int num_threads = 0;
> + struct thread_data {
> +       int core_id;
> +@@ -56,7 +54,7 @@ static struct thread_data *tdata;
> + static pthread_t *threads;
> + int pipefds[2];
> +
> +-char *aes_buf;
> ++unsigned char *aes_buf;
> +
> + #ifdef HAVE_LIBGCRYPT
> +
> +@@ -147,13 +145,12 @@ int xread_jitter(void *buf, size_t size, struct rng *ent_src)
> +       ssize_t request;
> +       int rc = 1;
> +       int retry_count = 0;
> +-      struct timespec sleep;
> +       ssize_t need=size;
> +       char *bptr = buf;
> +       size_t total;
> + try_again:
> +       while (need) {
> +-              message(LOG_DAEMON|LOG_DEBUG, "xread_jitter requests %d bytes from pipe\n", need);
> ++              message(LOG_DAEMON|LOG_DEBUG, "xread_jitter requests %lu bytes from pipe\n", need);
> +               request = read(pipefds[0], &bptr[size-need], need);
> +               if ((request < need) && ent_src->rng_options[JITTER_OPT_USE_AES].int_val) {
> +                       message(LOG_DAEMON|LOG_DEBUG, "xread_jitter falls back to AES\n");
> +@@ -173,7 +170,7 @@ try_again:
> +                               message(LOG_DAEMON|LOG_DEBUG, "failed read: %s\n", strerror(errno));
> +                               pthread_yield();
> +                       } else
> +-                              message(LOG_DAEMON|LOG_DEBUG, "request of random data returns %d less than need %d\n",
> ++                              message(LOG_DAEMON|LOG_DEBUG, "request of random data returns %ld less than need %ld\n",
> +                                       request, need);
> +                       if (retry_count < ent_src->rng_options[JITTER_OPT_RETRY_COUNT].int_val) {
> +                               retry_count++;
> +@@ -185,7 +182,7 @@ try_again:
> +                       goto out;
> +               }
> +
> +-              message(LOG_DAEMON|LOG_DEBUG, "xread_jitter gets %d bytes\n", request);
> ++              message(LOG_DAEMON|LOG_DEBUG, "xread_jitter gets %ld bytes\n", request);
> +               need -= request;
> +       }
> +
> +@@ -236,7 +233,6 @@ static void *thread_entropy_task(void *data)
> +       cpu_set_t cpuset;
> +
> +       ssize_t ret;
> +-      size_t need;
> +       struct thread_data *me = data;
> +       char *tmpbuf;
> +       struct timespec start, end;
> +@@ -287,7 +283,7 @@ static void *thread_entropy_task(void *data)
> +               while(written != me->buf_sz) {
> +                       message(LOG_DAEMON|LOG_DEBUG, "Writing to pipe\n");
> +                       ret = write(me->pipe_fd, &tmpbuf[written], me->buf_sz - written);
> +-                      message(LOG_DAEMON|LOG_DEBUG, "DONE Writing to pipe with return %d\n", ret);
> ++                      message(LOG_DAEMON|LOG_DEBUG, "DONE Writing to pipe with return %ld\n", ret);
> +                       if (first)
> +                               me->active = 1;
> +                       if (ret < 0)
> +diff --git a/rngd_linux.c b/rngd_linux.c
> +index 9eca968..51c38ac 100644
> +--- a/rngd_linux.c
> ++++ b/rngd_linux.c
> +@@ -59,12 +59,16 @@ extern int kent_pool_size;
> + int default_watermark(void)
> + {
> +       FILE *f;
> +-      unsigned int wm = 4096; /* Default guess */
> ++      unsigned int wm;        /* Default guess */
> +
> +       f = fopen("/proc/sys/kernel/random/poolsize", "r");
> +       if (!f)
> +               goto err;
> +-      fscanf(f,"%d", &wm);
> ++      /*
> ++       * Default to 4096 if fscanf fails
> ++       */
> ++      if(fscanf(f,"%d", &wm) < 1)
> ++              wm = 4096;
> +       kent_pool_size = wm;
> +       wm = wm*3/4;
> + err:
> +diff --git a/rngd_nistbeacon.c b/rngd_nistbeacon.c
> +index 10fc4a4..aafb300 100644
> +--- a/rngd_nistbeacon.c
> ++++ b/rngd_nistbeacon.c
> +@@ -414,7 +414,7 @@ static int get_nist_record()
> +                       goto out;
> +               }
> +
> +-              message(LOG_DAEMON|LOG_DEBUG, "NIST: timestamp is %d, frequency is %d, tv_sec is %d\n",
> ++              message(LOG_DAEMON|LOG_DEBUG, "NIST: timestamp is %lu, frequency is %u, tv_sec is %lu\n",
> +                       block.timestamp, block.frequency, ct.tv_sec);
> +               if (block.timestamp + block.frequency >= ct.tv_sec) {
> +                       message(LOG_DAEMON|LOG_ERR, "Multiple nist reads in same frequency period of %d sec\n",
> +--
> +2.20.1
> +
> diff --git a/meta/recipes-support/rng-tools/rng-tools/0004-Fix-a-race-condition-on-shutdown.patch b/meta/recipes-support/rng-tools/rng-tools/0004-Fix-a-race-condition-on-shutdown.patch
> new file mode 100644
> index 0000000000..c4e982551a
> --- /dev/null
> +++ b/meta/recipes-support/rng-tools/rng-tools/0004-Fix-a-race-condition-on-shutdown.patch
> @@ -0,0 +1,55 @@
> +From 8203e08efd8ae6de110bc9bcc36f02e2302c8f6a Mon Sep 17 00:00:00 2001
> +From: Neil Horman <nhorman at tuxdriver.com>
> +Date: Thu, 23 May 2019 12:36:03 -0400
> +Subject: [PATCH 04/10] Fix a race condition on shutdown
> +
> +It was possible that, during shutdown, a thread may exit prior to us
> +checking for it being exited, leading us to block on a read of a pipe
> +that was never going to be written to, causing a shutdown hang.  Fix it
> +by using pthread_kill to kill each thread instead
> +
> +Signed-off-by: Neil Horman <nhorman at tuxdriver.com>
> +
> +Upstream-Status: Backport
> +---
> + rngd_jitter.c | 12 ++++--------
> + 1 file changed, 4 insertions(+), 8 deletions(-)
> +
> +diff --git a/rngd_jitter.c b/rngd_jitter.c
> +index c08c0d2..979e613 100644
> +--- a/rngd_jitter.c
> ++++ b/rngd_jitter.c
> +@@ -469,26 +469,22 @@ void close_jitter_entropy_source(struct rng *ent_src)
> +       for (i=0; i < num_threads; i++)
> +               tdata[i].active = 0;
> +
> +-      flags = fcntl(pipefds[1], F_GETFL, 0);
> +-      flags |= O_NONBLOCK;
> +-      fcntl(pipefds[1], F_SETFL, &flags);
> ++      close(pipefds[1]);
> +
> +       /* And wait for completion of each thread */
> +       for (i=0; i < num_threads; i++) {
> +               message(LOG_DAEMON|LOG_DEBUG, "Checking on done for thread %d\n", i);
> +               while (!tdata[i].done)
> ++                      pthread_kill(threads[i], SIGINT);
> +                       if(tdata[i].done) {
> +                               message(LOG_DAEMON|LOG_INFO, "Closing thread %d\n", tdata[i].core_id);
> +                               pthread_join(threads[i], NULL);
> +                               jent_entropy_collector_free(tdata[i].ec);
> +-                      } else {
> +-                              read(pipefds[0], tmpbuf, 1024);
> ++                      } else
> +                               sched_yield();
> +-                      }
> +       }
> +
> +-      close(pipefds[2]);
> +-      close(pipefds[1]);
> ++      close(pipefds[0]);
> +       free(tdata);
> +       free(threads);
> +       return;
> +--
> +2.20.1
> +
> diff --git a/meta/recipes-support/rng-tools/rng-tools/0005-rngd-prioritize-faster-sources-of-entropy.patch b/meta/recipes-support/rng-tools/rng-tools/0005-rngd-prioritize-faster-sources-of-entropy.patch
> new file mode 100644
> index 0000000000..2f553fc606
> --- /dev/null
> +++ b/meta/recipes-support/rng-tools/rng-tools/0005-rngd-prioritize-faster-sources-of-entropy.patch
> @@ -0,0 +1,72 @@
> +From ba8adb4c6e275e85f906922b6fcf18b4ac16534e Mon Sep 17 00:00:00 2001
> +From: Neil Horman <nhorman at tuxdriver.com>
> +Date: Tue, 4 Jun 2019 10:51:53 -0400
> +Subject: [PATCH 05/10] rngd: prioritize faster sources of entropy
> +
> +We have two broad categories of entropy sources in rngd.  Fast sources
> +and slow sources.  Slow sources (like jitterentropy) provided entropy to
> +systems that have no other entropy source, but can actually hinder
> +performance when large amounts of entropy are requested (consider a case
> +where the entropy pool is empty, and the rdrand source can provide
> +twice the entropy in half the time that jitterentropy can).  Its still
> +valuable to have jitterentropy enabled, but we shouldn't be extracting
> +entropy from it, if a faster source can provide it.  So lets prioritize
> +our fast sources over the slow ones.  in the do_loop, lets by default
> +not collect entropy from sources marked as slow.  If we pass
> +through an interation of the do_loop with no entropy collected, then
> +lets include the slow sources on the next pass to give us a better
> +chance at collection.  Then, when entropy is gathered, we can go back to
> +only using the fast sources.
> +
> +Signed-off-by: Neil Horman <nhorman at tuxdriver.com>
> +
> +Upstream-Status: Backport
> +---
> + rngd.c | 19 +++++++++++++++++++
> + 1 file changed, 19 insertions(+)
> +
> +diff --git a/rngd.c b/rngd.c
> +index 1b3d73d..a086949 100644
> +--- a/rngd.c
> ++++ b/rngd.c
> +@@ -577,6 +577,7 @@ static void do_loop(int random_step)
> +       int i;
> +       int retval;
> +       struct rng *iter;
> ++      bool try_slow_sources = false;
> +
> +       int (*random_add_fn)(struct rng *rng, int random_step,
> +               unsigned char *buf, fips_ctx_t *fipsctx_in);
> +@@ -587,11 +588,29 @@ continue_trying:
> +       for (no_work = 0; no_work < 100; no_work = (work_done ? 0 : no_work+1)) {
> +
> +               work_done = false;
> ++
> ++              /*
> ++               * Exclude slow sources when faster sources are working well
> ++               * sources like jitterentropy can provide some entropy when needed
> ++               * but can actually hinder performance when large amounts of entropy are needed
> ++               * owing to the fact that they may block while generating said entropy
> ++               * So, lets prioritize the faster sources.  Start by only trying to collect
> ++               * entropy from the fast sources, then iff that fails, start including the slower
> ++               * sources as well.  Once we get some entropy, return to only using fast sources
> ++               */
> ++              if (no_work)
> ++                      try_slow_sources = true;
> ++              else
> ++                      try_slow_sources = false;
> ++
> +               for (i = 0; i < ENT_MAX; ++i)
> +               {
> +                       int rc;
> +                       /*message(LOG_CONS|LOG_INFO, "I is %d\n", i);*/
> +                       iter = &entropy_sources[i];
> ++                      if (!try_slow_sources && iter->flags.slow_source)
> ++                              continue;
> ++
> +               retry_same:
> +                       if (!server_running)
> +                               return;
> +--
> +2.20.1
> +
> diff --git a/meta/recipes-support/rng-tools/rng-tools/0006-rngd_jitter-replace-non-standard-pthread_yield-with-.patch b/meta/recipes-support/rng-tools/rng-tools/0006-rngd_jitter-replace-non-standard-pthread_yield-with-.patch
> new file mode 100644
> index 0000000000..5bd6a4a01c
> --- /dev/null
> +++ b/meta/recipes-support/rng-tools/rng-tools/0006-rngd_jitter-replace-non-standard-pthread_yield-with-.patch
> @@ -0,0 +1,27 @@
> +From 93abcd77d9b5bae9c2018cf8fedb27c87d0ca5e6 Mon Sep 17 00:00:00 2001
> +From: Nicola Lunghi <25422924+nicola-lunghi at users.noreply.github.com>
> +Date: Wed, 5 Jun 2019 16:38:21 +0100
> +Subject: [PATCH 06/10] rngd_jitter: replace non standard pthread_yield with
> + sched_yield
> +
> +Upstream-Status: Backport
> +---
> + rngd_jitter.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/rngd_jitter.c b/rngd_jitter.c
> +index 979e613..54070ae 100644
> +--- a/rngd_jitter.c
> ++++ b/rngd_jitter.c
> +@@ -168,7 +168,7 @@ try_again:
> +               } else if (request < need) {
> +                       if (request == -1) {
> +                               message(LOG_DAEMON|LOG_DEBUG, "failed read: %s\n", strerror(errno));
> +-                              pthread_yield();
> ++                              sched_yield();
> +                       } else
> +                               message(LOG_DAEMON|LOG_DEBUG, "request of random data returns %ld less than need %ld\n",
> +                                       request, need);
> +--
> +2.20.1
> +
> diff --git a/meta/recipes-support/rng-tools/rng-tools/0007-Make-rngd_pkcs11.c-explicitly-link-against-libcrypto.patch b/meta/recipes-support/rng-tools/rng-tools/0007-Make-rngd_pkcs11.c-explicitly-link-against-libcrypto.patch
> new file mode 100644
> index 0000000000..003049fb7e
> --- /dev/null
> +++ b/meta/recipes-support/rng-tools/rng-tools/0007-Make-rngd_pkcs11.c-explicitly-link-against-libcrypto.patch
> @@ -0,0 +1,73 @@
> +From ee078086ee8209f593f16ac5f6393fb1a95452c4 Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?G=C3=B6kt=C3=BCrk=20Y=C3=BCksek?= <gokturk at gentoo.org>
> +Date: Wed, 5 Jun 2019 13:54:14 -0400
> +Subject: [PATCH 07/10] Make rngd_pkcs11.c explicitly link against libcrypto
> +
> +In function init_pkcs11_entropy_source(), there is a call to
> +ERR_reason_error_string(), which is defined in libcrypto. This causes
> +linking problems for rng-tools under certain configurations:
> +
> +$ ./configure --disable-jitterentropy --without-nistbeacon --with-pkcs11
> +...
> +$ make
> +...
> +gcc     -pthread -g -O2 -pthread   -o rngd rngd-rngd.o rngd-rngd_entsource.o rngd-rngd_linux.o rngd-util.o  rngd-rngd_rdrand.o rdrand_asm.o   rngd-rngd_pkcs11.o librngd.a -lsysfs -lgcrypt -lsysfs  -lp11     -lgcrypt -lsysfs
> +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: rngd-rngd_pkcs11.o: undefined reference to symbol 'ERR_reason_error_string@@OPENSSL_1_1_0'
> +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libcrypto.so.1.1: error adding symbols: DSO missing from command line
> +collect2: error: ld returned 1 exit status
> +make[2]: *** [Makefile:609: rngd] Error 1
> +make[2]: Leaving directory '/tmp/rng-tools'
> +make[1]: *** [Makefile:888: all-recursive] Error 1
> +make[1]: Leaving directory '/tmp/rng-tools'
> +make: *** [Makefile:458: all] Error 2
> +
> +This symbol is defined in libcrypto:
> +
> +$ readelf --dyn-syms /usr/lib64/libcrypto.so | grep ERR_reason_error_string
> +   314: 000000000012cf60   155 FUNC    GLOBAL DEFAULT   12 ERR_reason_error_string@@OPENSSL_1_1_0
> +
> +Linking rngd against libcrypto when pkcs11 is enabled fixes the issue.
> +
> +Bug: https://bugs.gentoo.org/684228
> +
> +Upstream-Status: Backport
> +---
> + Makefile.am  | 4 ++--
> + configure.ac | 1 +
> + 2 files changed, 3 insertions(+), 2 deletions(-)
> +
> +diff --git a/Makefile.am b/Makefile.am
> +index ff56efe..db4fcfc 100644
> +--- a/Makefile.am
> ++++ b/Makefile.am
> +@@ -27,13 +27,13 @@ if JITTER
> + rngd_SOURCES  += rngd_jitter.c
> + endif
> +
> +-rngd_LDADD    = librngd.a -lsysfs $(LIBS) ${libp11_LIBS} ${libcurl_LIBS} ${libxml2_LIBS} ${openssl_LIBS} $(PTHREAD_LIBS)
> ++rngd_LDADD    = librngd.a -lsysfs $(LIBS) ${libp11_LIBS} ${libcrypto_LIBS} ${libcurl_LIBS} ${libxml2_LIBS} ${openssl_LIBS} $(PTHREAD_LIBS)
> +
> + if PKCS11
> + rngd_SOURCES  += rngd_pkcs11.c
> + endif
> +
> +-rngd_CFLAGS   = ${pkcs11_CFLAGS} ${libp11_CFLAGS} ${libxml2_CFLAGS} ${openssl_CFLAGS} $(PTHREAD_CFLAGS)
> ++rngd_CFLAGS   = ${pkcs11_CFLAGS} ${libp11_CFLAGS} ${libcrypto_CFLAGS} ${libxml2_CFLAGS} ${openssl_CFLAGS} $(PTHREAD_CFLAGS)
> + rngd_LDFLAGS  = $(PTHREAD_CFLAGS)
> +
> + rngtest_SOURCES       = exits.h stats.h stats.c rngtest.c
> +diff --git a/configure.ac b/configure.ac
> +index d00a6f1..29a46fa 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -102,6 +102,7 @@ AS_IF(
> +       [ test "x$with_pkcs11" != "xno"],
> +       [
> +               PKG_CHECK_MODULES([libp11], [libp11], [], [AC_MSG_ERROR([libp11 is required])])
> ++              PKG_CHECK_MODULES([libcrypto], [libcrypto], [], [AC_MSG_ERROR([libcrypto is required])])
> +               AC_DEFINE([HAVE_PKCS11],1,[Enable PKCS11])
> +       ]
> + )
> +--
> +2.20.1
> +
> diff --git a/meta/recipes-support/rng-tools/rng-tools/0008-configure-If-the-libc-is-lacking-argp-use-libargp.patch b/meta/recipes-support/rng-tools/rng-tools/0008-configure-If-the-libc-is-lacking-argp-use-libargp.patch
> new file mode 100644
> index 0000000000..e50bbbc8b8
> --- /dev/null
> +++ b/meta/recipes-support/rng-tools/rng-tools/0008-configure-If-the-libc-is-lacking-argp-use-libargp.patch
> @@ -0,0 +1,103 @@
> +From 53a6f99e0bf9f70fce659268ab0354760d8f7586 Mon Sep 17 00:00:00 2001
> +From: Christopher Larson <chris_larson at mentor.com>
> +Date: Mon, 15 Feb 2016 15:59:58 -0700
> +Subject: [PATCH 08/10] configure:If the libc is lacking argp, use libargp
> +
> +This is the squash of two patches from yocto recipe
> +that are needed in case the libc used lacks argp
> +to specify to use the libargp library.
> +
> +Needed in particular for musl
> +
> +0001: Patch pulled from Gentoo:
> +
> +    On glibc systems, argp is provided by libc.  However, on
> +    uclibc and other systems which lack argp in their C library,
> +    argp might be provided by a stand alone library, libargp.
> +    This patch adds tests to the build system to find who provides
> +    argp.
> +
> +    X-Gentoo-Bug: 292191
> +    X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=292191
> +    Reported-by: Ed Wildgoose <gentoo at wildgooses.com>
> +    Signed-off-by: Anthony G. Basile <blueness at gentoo.org>
> +
> +    Upstream-Status: Pending
> +    Signed-off-by: Christopher Larson <chris_larson at mentor.com>
> +
> +0002: Add argument to control the libargp dependency
> +
> +    This ensures that the builds are always deterministic. If the argument isn't
> +    passed, the default behavior is to use libargp if the libc doesn't have argp.
> +
> +    Upstream-Status: Pending
> +    Signed-off-by: Christopher Larson <chris_larson at mentor.com>
> +
> +    Rebase to 6.6
> +    Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> +
> +Signed-off-by: Nicola Lunghi <25422924+nicola-lunghi at users.noreply.github.com>
> +---
> + configure.ac | 39 +++++++++++++++++++++++++++++++++++++++
> + 1 file changed, 39 insertions(+)
> +
> +diff --git a/configure.ac b/configure.ac
> +index 29a46fa..671c174 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -47,6 +47,13 @@ AC_ARG_WITH([pkcs11],
> +       [with_pkcs11=check]
> + )
> +
> ++AC_ARG_WITH([libargp],
> ++      AS_HELP_STRING([--without-libargp],
> ++              [Disable libargp support. Systems whose libc lacks argp can use libargp instead. (Default: check if libc lacks argp)]),
> ++      [with_libargp=$withval],
> ++      [with_libargp=check]
> ++)
> ++
> + dnl Make sure anyone changing configure.ac/Makefile.am has a clue
> + AM_MAINTAINER_MODE
> + AM_PROG_AS
> +@@ -153,6 +160,38 @@ AS_IF(
> +       ]
> + )
> +
> ++dnl Determine if we need libargp: either user requested, or libc has no argp
> ++AS_IF(
> ++      [test "x$with_libargp" != "xyes"],
> ++      [
> ++              AC_LINK_IFELSE(
> ++                      [AC_LANG_PROGRAM(
> ++                              [#include <argp.h>],
> ++                              [int argc=1; char *argv[]={"test"}; argp_parse(0,argc,argv,0,0,0); return 0;]
> ++                              )],
> ++                      [need_libargp=no],
> ++                      [need_libargp=yes
> ++                       if test "x$with_libargp" = "xno"; then
> ++                              AC_MSG_FAILURE([libargp disabled and libc does not have argp])
> ++                       fi]
> ++              )
> ++      ],
> ++      [need_libargp=yes],
> ++)
> ++
> ++dnl Check for libargp
> ++AS_IF(
> ++      [test "x$need_libargp" = "xyes"],
> ++      [
> ++              AC_CHECK_LIB(
> ++                      [argp],
> ++                      [argp_parse],
> ++                      [LIBS="$LIBS -largp"],
> ++                      [AC_MSG_FAILURE([libargp not found])]
> ++              )
> ++      ]
> ++)
> ++
> + dnl -----------------
> + dnl Configure options
> + dnl -----------------
> +--
> +2.20.1
> +
> diff --git a/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch b/meta/recipes-support/rng-tools/rng-tools/0009-Fix-assemby-textrels-on-rdrand_asm.S-on-PIC-x86.patch
> similarity index 94%
> rename from meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch
> rename to meta/recipes-support/rng-tools/rng-tools/0009-Fix-assemby-textrels-on-rdrand_asm.S-on-PIC-x86.patch
> index 614adab27f..132736d75a 100644
> --- a/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch
> +++ b/meta/recipes-support/rng-tools/rng-tools/0009-Fix-assemby-textrels-on-rdrand_asm.S-on-PIC-x86.patch
> @@ -1,7 +1,7 @@
> -From d8b1bb8edd99b2898720b4f10d292a67d532db48 Mon Sep 17 00:00:00 2001
> +From ea266db777f52bfd3611bacb0dedca81437adb2b Mon Sep 17 00:00:00 2001
>  From: "Francisco Blas Izquierdo Riera (klondike)" <klondike at gentoo.org>
>  Date: Mon, 22 Oct 2018 15:29:36 +0800
> -Subject: [PATCH 4/4] Fix assemby textrels on rdrand_asm.S on PIC x86
> +Subject: [PATCH 09/10] Fix assemby textrels on rdrand_asm.S on PIC x86
>  MIME-Version: 1.0
>  Content-Type: text/plain; charset=UTF-8
>  Content-Transfer-Encoding: 8bit
> @@ -23,7 +23,7 @@ Reported-by: cilly <cilly at cilly.mine.nu>
>  Reported-by: Manuel Rüger <mrueg at gentoo.org>
>  Tested-by: Anthony Basile <blueness at gentoo.org>
>
> -Upstream-Status: Pending
> +Upstream-Status: Submitted
>  ---
>   rdrand_asm.S | 27 +++++++++++++++++++++++++++
>   1 file changed, 27 insertions(+)
> @@ -110,5 +110,5 @@ index b5d260a..7811cf2 100644
>         .balign 64
>   aes_round_keys:
>  --
> -2.7.4
> +2.20.1
>
> diff --git a/meta/recipes-support/rng-tools/rng-tools/underquote.patch b/meta/recipes-support/rng-tools/rng-tools/0010-Fix-underquoted-m4-entry.-This-causes-a-failure-if-g.patch
> similarity index 77%
> rename from meta/recipes-support/rng-tools/rng-tools/underquote.patch
> rename to meta/recipes-support/rng-tools/rng-tools/0010-Fix-underquoted-m4-entry.-This-causes-a-failure-if-g.patch
> index aa4bbcb346..fc4de8b6e2 100644
> --- a/meta/recipes-support/rng-tools/rng-tools/underquote.patch
> +++ b/meta/recipes-support/rng-tools/rng-tools/0010-Fix-underquoted-m4-entry.-This-causes-a-failure-if-g.patch
> @@ -1,8 +1,8 @@
> -From 03fe7efa1bc04a83fb9b6787998e7baa7ee90646 Mon Sep 17 00:00:00 2001
> +From f7c2422be181d5f858712da9e63b14b602d82fac Mon Sep 17 00:00:00 2001
>  From: Richard Purdie <richard.purdie at linuxfoundation.org>
>  Date: Mon, 22 Oct 2018 15:27:41 +0800
> -Subject: [PATCH 3/4] Fix underquoted m4 entry. This causes a failure if gcrypt
> - isn't present:
> +Subject: [PATCH 10/10] Fix underquoted m4 entry. This causes a failure if
> + gcrypt isn't present:
>
>  | configure: libgcrypt support disabled
>  | ../rng-tools-5/configure: line 4345: ac_fn_c_try_link: command not found
> @@ -11,7 +11,7 @@ Subject: [PATCH 3/4] Fix underquoted m4 entry. This causes a failure if gcrypt
>  RP
>  2016/2/16
>
> -Upstream-Status: Pending
> +Upstream-Status: Submitted
>
>  Rebase to 6.6
>  Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> @@ -20,10 +20,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
>  diff --git a/configure.ac b/configure.ac
> -index dd1c30f..88d2be3 100644
> +index 671c174..81959f3 100644
>  --- a/configure.ac
>  +++ b/configure.ac
> -@@ -124,7 +124,7 @@ AS_IF(
> +@@ -142,7 +142,7 @@ AS_IF(
>         [test "x$with_libgcrypt" != "xno"],
>         [
>                 AC_CHECK_HEADER([gcrypt.h],
> @@ -32,7 +32,7 @@ index dd1c30f..88d2be3 100644
>                                 [gcrypt],
>                                 [gcry_check_version], ,
>                                 [
> -@@ -133,7 +133,7 @@ AS_IF(
> +@@ -151,7 +151,7 @@ AS_IF(
>                                                 AC_MSG_NOTICE([libgcrypt support disabled])
>                                         fi
>                                 ]
> @@ -42,5 +42,5 @@ index dd1c30f..88d2be3 100644
>                                 AC_MSG_FAILURE([libgcrypt headers not found]); else
>                                 AC_MSG_NOTICE([libgcrypt support disabled])
>  --
> -2.7.4
> +2.20.1
>
> diff --git a/meta/recipes-support/rng-tools/rng-tools_6.6.bb b/meta/recipes-support/rng-tools/rng-tools_6.7.bb
> similarity index 72%
> rename from meta/recipes-support/rng-tools/rng-tools_6.6.bb
> rename to meta/recipes-support/rng-tools/rng-tools_6.7.bb
> index 41959a2695..9cc5951345 100644
> --- a/meta/recipes-support/rng-tools/rng-tools_6.6.bb
> +++ b/meta/recipes-support/rng-tools/rng-tools_6.7.bb
> @@ -10,16 +10,21 @@ DEPENDS = "sysfsutils"
>
>  SRC_URI = "\
>      git://github.com/nhorman/rng-tools.git \
> -    file://0001-If-the-libc-is-lacking-argp-use-libargp.patch \
> -    file://0002-Add-argument-to-control-the-libargp-dependency.patch \
> -    file://underquote.patch \
> -    file://rng-tools-5-fix-textrels-on-PIC-x86.patch \
> -    file://0001-configure.ac-fix-typo.patch \
> +    file://0001-Remove-superfluous-variables.patch \
> +    file://0002-Fix-a-few-typos-in-log-messages.patch \
> +    file://0003-Fix-up-some-compile-warnings.patch \
> +    file://0004-Fix-a-race-condition-on-shutdown.patch \
> +    file://0005-rngd-prioritize-faster-sources-of-entropy.patch \
> +    file://0006-rngd_jitter-replace-non-standard-pthread_yield-with-.patch \
> +    file://0007-Make-rngd_pkcs11.c-explicitly-link-against-libcrypto.patch \
> +    file://0008-configure-If-the-libc-is-lacking-argp-use-libargp.patch \
> +    file://0009-Fix-assemby-textrels-on-rdrand_asm.S-on-PIC-x86.patch \
> +    file://0010-Fix-underquoted-m4-entry.-This-causes-a-failure-if-g.patch \
>      file://init \
>      file://default \
>      file://rngd.service \
>  "
> -SRCREV = "4ebc21d6f387bb7b4b3f6badc429e27b21c0a6ee"
> +SRCREV = "7435d1243d73525206ab476c02abf2dcea0a3fa1"
>
>  S = "${WORKDIR}/git"
>
> @@ -31,6 +36,7 @@ PACKAGECONFIG_libc-musl = "libargp libjitterentropy"
>  PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone,"
>  PACKAGECONFIG[libgcrypt] = "--with-libgcrypt,--without-libgcrypt,libgcrypt,"
>  PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy"
> +PACKAGECONFIG[libpkcs11] = "--with-pkcs11,--without-pkcs11,libp11"
>  PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2 openssl"
>
>  INITSCRIPT_NAME = "rng-tools"
> --
> 2.20.1
>


More information about the Openembedded-core mailing list