[OE-core] [PATCH] bash: Remove .build files for reproducible builds

Joshua Watt jpewhacker at gmail.com
Thu Jun 20 15:47:04 UTC 2019


Bash has an internal "build number" that it tracks and automatically
increments ever time a given builds is made from the same sandbox.
However, this can make builds non-reproducible in the event that a build
directory is reused multiple times.

Remove the .build files after every build if reproducible builds have
been requested which will reset the build build number for the next
build.

Signed-off-by: Joshua Watt <JPEWhacker at gmail.com>
---
 meta/recipes-extended/bash/bash.inc | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/meta/recipes-extended/bash/bash.inc b/meta/recipes-extended/bash/bash.inc
index c91cc8ada8d..e2844dffbad 100644
--- a/meta/recipes-extended/bash/bash.inc
+++ b/meta/recipes-extended/bash/bash.inc
@@ -39,6 +39,14 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = " \
 
 CACHED_CONFIGUREVARS += "headersdir=${includedir}/${PN}"
 
+do_compile_prepend() {
+    # If reproducible builds are requested, remove any leftover .build files.
+    # This ensures that bash always has the same version number
+    if [ "${BUILD_REPRODUCIBLE_BINARIES}" == "1" ]; then
+        rm -f ${B}/.build
+    fi
+}
+
 do_compile_ptest () {
 	oe_runmake buildtest
 }
-- 
2.21.0



More information about the Openembedded-core mailing list