From b79eeb68c6ad7c92a3e54c6f97a8bf49f0098206 Mon Sep 17 00:00:00 2001 From: Juro Bystricky Date: Mon, 22 Jan 2018 14:59:49 -0800 Subject: libc6: improve reproducibility Building various libraries (libc6, libc6-pic, libc6-staticdev, libc6-dbg, ...) can be non-deterministic because they may be built with two different versions of intl/plural.c. in two otherwise identical builds. We may or may not re-generate the file plural.c from the file plural.y, based on bison being installed or not and based on mtimes of those two files, as the Makefile contains: plural.c: plural.y $(BISON) $(BISONFLAGS) $@ $^ If the above rule does not fire, we use a "fallback" plural.c, otherwise we use plural.c re-generated from plural.y. The fix is to always require bison to be installed and unconditionally re-generate plural.c. (This is achieved by touching plural.y). [YOCTO #12291] Signed-off-by: Juro Bystricky Signed-off-by: Richard Purdie --- meta/recipes-core/glibc/glibc_2.26.bb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'meta/recipes-core/glibc') diff --git a/meta/recipes-core/glibc/glibc_2.26.bb b/meta/recipes-core/glibc/glibc_2.26.bb index ff3197bb23..7eb56b328a 100644 --- a/meta/recipes-core/glibc/glibc_2.26.bb +++ b/meta/recipes-core/glibc/glibc_2.26.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSES;md5=e9a558e243b36d3209f380deb394b213 \ file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" -DEPENDS += "gperf-native" +DEPENDS += "gperf-native bison-native" SRCREV ?= "77f921dac17c5fa99bd9e926d926c327982895f7" @@ -106,6 +106,10 @@ do_configure () { # version check and doesn't really help with anything (cd ${S} && gnu-configize) || die "failure in running gnu-configize" find ${S} -name "configure" | xargs touch + # "plural.c" may or may not get regenerated from "plural.y" so we + # touch "plural.y" to make sure it does. (This should not be needed + # for glibc version 2.26+) + find ${S}/intl -name "plural.y" | xargs touch CPPFLAGS="" oe_runconf } -- cgit 1.2.3-korg