summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Watt <jpewhacker@gmail.com>2019-06-21 08:33:56 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-06-21 16:19:04 +0100
commit9754be5c22de877bd53226908d03d2eef5751808 (patch)
treed65234ddc4613de2fd83417c842bc1cb392f306e
parent9297cabb0aca8212d3cc74f8d26e43abc02ded87 (diff)
downloadopenembedded-core-9754be5c22de877bd53226908d03d2eef5751808.tar.gz
bash: Remove .build files for reproducible builds
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@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-extended/bash/bash.inc6
1 files changed, 6 insertions, 0 deletions
diff --git a/meta/recipes-extended/bash/bash.inc b/meta/recipes-extended/bash/bash.inc
index c91cc8ada8..039b8687a2 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
}