[OE-core] [PATCH] curl_7.54.1.bb: improve reproducibility

Juro Bystricky juro.bystricky at intel.com
Mon Oct 30 17:49:46 UTC 2017


Improve reproducible build of curl-dev and curl-dbg packages.

curl-dev: Correctly remove build host references from curl-config
curl-dbg: Do not generate time stamps in files generated by mkhelp.pl

Signed-off-by: Juro Bystricky <juro.bystricky at intel.com>
---
 .../curl/curl/reproducible-mkhelp.patch            | 32 ++++++++++++++++++++++
 meta/recipes-support/curl/curl_7.54.1.bb           | 10 ++++++-
 2 files changed, 41 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-support/curl/curl/reproducible-mkhelp.patch

diff --git a/meta/recipes-support/curl/curl/reproducible-mkhelp.patch b/meta/recipes-support/curl/curl/reproducible-mkhelp.patch
new file mode 100644
index 0000000..268bbeb
--- /dev/null
+++ b/meta/recipes-support/curl/curl/reproducible-mkhelp.patch
@@ -0,0 +1,32 @@
+From 1fe92fd3dd64c7228f6ff41e3fc16c4f2392471a Mon Sep 17 00:00:00 2001
+From: Juro Bystricky <juro.bystricky at intel.com>
+Date: Fri, 27 Oct 2017 08:28:25 -0700
+Subject: mkhelp.pl: support reproducible build
+
+Do not generate line with the current date, such as:
+
+* Generation time: Tue Oct-24 18:01:41 2017
+
+This will improve reproducibility. The generated string is only
+part of a comment, so there should be no adverse consequences.
+
+Upstream-Status: Submitted [ https://github.com/curl/curl/pull/2026 ]
+
+Signed-off-by: Juro Bystricky <juro.bystricky at intel.com>
+
+diff --git a/src/mkhelp.pl b/src/mkhelp.pl
+index 270daa2..757f024 100755
+--- a/src/mkhelp.pl
++++ b/src/mkhelp.pl
+@@ -102,11 +102,9 @@ while(<READ>) {
+ }
+ close(READ);
+ 
+-$now = localtime;
+ print <<HEAD
+ /*
+  * NEVER EVER edit this manually, fix the mkhelp.pl script instead!
+- * Generation time: $now
+  */
+ #ifdef USE_MANUAL
+ #include "tool_hugehelp.h"
diff --git a/meta/recipes-support/curl/curl_7.54.1.bb b/meta/recipes-support/curl/curl_7.54.1.bb
index 04aeee7..3977099 100644
--- a/meta/recipes-support/curl/curl_7.54.1.bb
+++ b/meta/recipes-support/curl/curl_7.54.1.bb
@@ -12,6 +12,10 @@ SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \
            file://CVE-2017-1000101.patch \
 "
 
+SRC_URI_append_class-target = " \
+           file://reproducible-mkhelp.patch \
+"
+
 # curl likes to set -g0 in CFLAGS, so we stop it
 # from mucking around with debug options
 #
@@ -63,7 +67,11 @@ do_install_append() {
 
 do_install_append_class-target() {
 	# cleanup buildpaths from curl-config
-	sed -i -e 's,${STAGING_DIR_HOST},,g' ${D}${bindir}/curl-config
+	sed -i \
+	    -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
+	    -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
+	    -e 's|${DEBUG_PREFIX_MAP}||g' \
+	    ${D}${bindir}/curl-config
 }
 
 PACKAGES =+ "lib${BPN}"
-- 
2.7.4




More information about the Openembedded-core mailing list