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

Joshua Watt jpewhacker at gmail.com
Fri Jun 21 13:33:56 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 | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/meta/recipes-extended/bash/bash.inc b/meta/recipes-extended/bash/bash.inc
index c91cc8ada8d..039b8687a24 100644
--- a/meta/recipes-extended/bash/bash.inc
+++ b/meta/recipes-extended/bash/bash.inc
@@ -39,6 +39,12 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = " \
 
 CACHED_CONFIGUREVARS += "headersdir=${includedir}/${PN}"
 
+do_compile_prepend() {
+    # Remove any leftover .build files. This ensures that bash always has the
+    # same version number and keeps builds reproducible
+    rm -f ${B}/.build
+}
+
 do_compile_ptest () {
 	oe_runmake buildtest
 }
-- 
2.21.0



More information about the Openembedded-core mailing list