From d47f7279f516ba2bbc6d1fd9dd37636902b9bad3 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Wed, 28 Dec 2022 19:11:49 +0100 Subject: [PATCH] package/rng-tools: fix build with updated jitterentropy-library Commit a8807ddbe2 bumped package jitterentropy-library to version 3.4.1 which broke building rng-tools. Add two upstream patches which improve jitterentropy-library detection. Fixes: http://autobuild.buildroot.net/results/a6f/a6f1381b3d1aa2a27412286167f5c8be5f6fdaf8/ Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- ...ropy-detection-to-look-for-the-setti.patch | 30 ++++++++++++++ ...ropy-library-to-timeout-fail-on-long.patch | 39 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 package/rng-tools/0002-Adjust-jitterentropy-detection-to-look-for-the-setti.patch create mode 100644 package/rng-tools/0003-Adjust-jitterentropy-library-to-timeout-fail-on-long.patch diff --git a/package/rng-tools/0002-Adjust-jitterentropy-detection-to-look-for-the-setti.patch b/package/rng-tools/0002-Adjust-jitterentropy-detection-to-look-for-the-setti.patch new file mode 100644 index 0000000000..553842640d --- /dev/null +++ b/package/rng-tools/0002-Adjust-jitterentropy-detection-to-look-for-the-setti.patch @@ -0,0 +1,30 @@ +From e2698477e8abf623c18ab28d33cc894ec882a706 Mon Sep 17 00:00:00 2001 +From: Neil Horman +Date: Fri, 18 Mar 2022 18:59:52 -0400 +Subject: [PATCH] Adjust jitterentropy detection to look for the settick + function + +Theres no great way to detect if jitterentropy has the internal timer +feature enabled so we have to look for a function that is only defined +when it is enabled + +Signed-off-by: Bernd Kuhls +[downloaded from upstream commit + https://github.com/nhorman/rng-tools/commit/e2698477e8abf623c18ab28d33cc894ec882a706] +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index e16e1a0..0f5a38e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -94,7 +94,7 @@ AS_IF( + AC_SEARCH_LIBS(jent_version,jitterentropy, + [AM_CONDITIONAL([JITTER], [true]) + AC_DEFINE([HAVE_JITTER],1,[Enable JITTER]) +- AC_CHECK_LIB(jitterentropy, jent_entropy_switch_notime_impl, ++ AC_CHECK_LIB(jitterentropy, jent_notime_settick, + [AC_DEFINE([HAVE_JITTER_NOTIME],1,[Enable JITTER_NOTIME])], + [],-lpthread)], + AC_MSG_NOTICE([No Jitterentropy library found]),-lpthread) diff --git a/package/rng-tools/0003-Adjust-jitterentropy-library-to-timeout-fail-on-long.patch b/package/rng-tools/0003-Adjust-jitterentropy-library-to-timeout-fail-on-long.patch new file mode 100644 index 0000000000..9d8dbe2d0b --- /dev/null +++ b/package/rng-tools/0003-Adjust-jitterentropy-library-to-timeout-fail-on-long.patch @@ -0,0 +1,39 @@ +From c29424f10a0dcbd18ac25607fa1c81c18a960e81 Mon Sep 17 00:00:00 2001 +From: Neil Horman +Date: Mon, 16 May 2022 13:38:54 -0400 +Subject: [PATCH] Adjust jitterentropy library to timeout/fail on long delay + +[Bernd: removed description of unrelated part of the patch] + +Also while we're at it, I might have a build solution for the presence +of internal timers. When jitterentropy is built without internal +timers, jent_notime_init is defined publically, but when it is built +with timers, its declared as a static symbol, preenting resolution, so +we can test to see if the function exists. If it does we _don't_ have +notime support. The logic is a bit backwards, but i think it works + +Signed-off-by: Bernd Kuhls +[downloaded configure.ac patch from upstream commit + https://github.com/nhorman/rng-tools/commit/57be6d4c90e78ea9ad036a3a6e9b09822ed4d219] +--- + configure.ac | 6 ++--- + rngd_jitter.c | 62 ++++++++++++++++++++++++++++++++++++++------------- + 2 files changed, 49 insertions(+), 19 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 52f2bb5..0af64e7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -101,9 +101,9 @@ AS_IF( + AC_SEARCH_LIBS(jent_version,jitterentropy, + [AM_CONDITIONAL([JITTER], [true]) + AC_DEFINE([HAVE_JITTER],1,[Enable JITTER]) +- AC_CHECK_LIB(jitterentropy, jent_notime_settick, +- [AC_DEFINE([HAVE_JITTER_NOTIME],1,[Enable JITTER_NOTIME])], +- [],-lpthread)], ++ AC_CHECK_LIB(jitterentropy, jent_notime_init, ++ [], ++ [AC_DEFINE([HAVE_JITTER_NOTIME],1, [Enable JITTER_NOTIME])],-lpthread)], + AC_MSG_NOTICE([No Jitterentropy library found]),-lpthread) + ], [AC_MSG_NOTICE([Disabling JITTER entropy source])] + )