[OE-core] [PATCH v3 04/11] busybox.inc: improve reproducibility
Juro Bystricky
juro.bystricky at intel.com
Wed Aug 9 17:48:26 UTC 2017
For reproducible builds do not generate build timestamp as part of
the version string.
Remove host tools references from .config file.
With this patch all eight busybox packages are built as
binary reproducible.
Signed-off-by: Juro Bystricky <juro.bystricky at intel.com>
---
meta/recipes-core/busybox/busybox.inc | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc
index b8edd39..735b1f6 100644
--- a/meta/recipes-core/busybox/busybox.inc
+++ b/meta/recipes-core/busybox/busybox.inc
@@ -102,6 +102,9 @@ python () {
}
do_prepare_config () {
+ if [ "$BUILD_REPRODUCIBLE_BINARIES" = "1" ]; then
+ export KCONFIG_NOTIMESTAMP=1
+ fi
sed -e '/CONFIG_STATIC/d' \
< ${WORKDIR}/defconfig > ${S}/.config
echo "# CONFIG_STATIC is not set" >> .config
@@ -118,6 +121,7 @@ do_prepare_config () {
${S}/.config.oe-tmp > ${S}/.config
fi
sed -i 's/CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n"/CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -b"/' ${S}/.config
+ sed -i 's|${DEBUG_PREFIX_MAP}||g' ${S}/.config
}
# returns all the elements from the src uri that are .cfg files
@@ -138,6 +142,9 @@ do_configure () {
do_compile() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ if [ "$BUILD_REPRODUCIBLE_BINARIES" = "1" ]; then
+ export KCONFIG_NOTIMESTAMP=1
+ fi
if [ "${BUSYBOX_SPLIT_SUID}" = "1" -a x`grep "CONFIG_FEATURE_INDIVIDUAL=y" .config` = x ]; then
# split the .config into two parts, and make two busybox binaries
if [ -e .config.orig ]; then
--
2.7.4
More information about the Openembedded-core
mailing list