[OE-core] [PATCH] ncurses_6.0: Improve reproducibility

Juro Bystricky juro.bystricky at intel.com
Fri Mar 31 21:28:13 UTC 2017


Build static libraries without the binutils "ar" -U option.
This option deliberately breaks deterministic mode.
The option seems to be a relic from 2015, intended as a workaround
for some unspecified build problems.

[YOCTO#11247]

Signed-off-by: Juro Bystricky <juro.bystricky at intel.com>
---
 .../ncurses/files/configure-reproducible.patch       | 20 ++++++++++++++++++++
 meta/recipes-core/ncurses/ncurses_6.0+20161126.bb    |  1 +
 2 files changed, 21 insertions(+)
 create mode 100644 meta/recipes-core/ncurses/files/configure-reproducible.patch

diff --git a/meta/recipes-core/ncurses/files/configure-reproducible.patch b/meta/recipes-core/ncurses/files/configure-reproducible.patch
new file mode 100644
index 0000000..54a8bdc
--- /dev/null
+++ b/meta/recipes-core/ncurses/files/configure-reproducible.patch
@@ -0,0 +1,20 @@
+"configure" enforces -U for ar flags, breaking deterministic builds.
+The flag was added to fix some vaguely specified "recent POSIX binutil
+build problems" in 2015. 
+
+Upstream-Status: Pending
+Signed-off-by: Juro Bystricky <juro.bystricky at intel.com>
+
+diff --git a/configure b/configure
+index 7f31208..aa80911 100755
+--- a/configure
++++ b/configure
+@@ -4428,7 +4428,7 @@ if test "${cf_cv_ar_flags+set}" = set; then
+ else
+ 
+ 	cf_cv_ar_flags=unknown
+-	for cf_ar_flags in -curvU -curv curv -crv crv -cqv cqv -rv rv
++	for cf_ar_flags in -curv curv -crv crv -cqv cqv -rv rv
+ 	do
+ 
+ 		# check if $ARFLAGS already contains this choice
diff --git a/meta/recipes-core/ncurses/ncurses_6.0+20161126.bb b/meta/recipes-core/ncurses/ncurses_6.0+20161126.bb
index e95741f..ace3108 100644
--- a/meta/recipes-core/ncurses/ncurses_6.0+20161126.bb
+++ b/meta/recipes-core/ncurses/ncurses_6.0+20161126.bb
@@ -3,6 +3,7 @@ require ncurses.inc
 SRC_URI += "file://tic-hang.patch \
             file://fix-cflags-mangle.patch \
             file://config.cache \
+            file://configure-reproducible.patch \
 "
 # commit id corresponds to the revision in package version
 SRCREV = "3db0bd19cb50e3d9b4f2cf15b7a102fe11302068"
-- 
2.7.4




More information about the Openembedded-core mailing list