summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuro Bystricky <juro.bystricky@intel.com>2018-01-22 14:59:49 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-02-19 23:53:34 +0000
commit1fbe8579839ee1a5164ba9738e61a7a1f7c9e4fa (patch)
tree39a4910d066d3ba026f7b67e5dd1d9bac6232c5b
parent3424b09737e460a350d75989e1a28d52bf15cc7b (diff)
downloadpoky-1fbe8579839ee1a5164ba9738e61a7a1f7c9e4fa.tar.gz
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] (From OE-Core rev: 112c6e77a81ec748cd116d1088dae2a1f59643f5) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit b79eeb68c6ad7c92a3e54c6f97a8bf49f0098206) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-core/glibc/glibc_2.26.bb6
1 files changed, 5 insertions, 1 deletions
diff --git a/meta/recipes-core/glibc/glibc_2.26.bb b/meta/recipes-core/glibc/glibc_2.26.bb
index cc7d3cd596..8c0eb98af6 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 \
5 file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ 5 file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
6 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" 6 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
7 7
8DEPENDS += "gperf-native" 8DEPENDS += "gperf-native bison-native"
9 9
10SRCREV ?= "1c9a5c270d8b66f30dcfaf1cb2d6cf39d3e18369" 10SRCREV ?= "1c9a5c270d8b66f30dcfaf1cb2d6cf39d3e18369"
11 11
@@ -108,6 +108,10 @@ do_configure () {
108# version check and doesn't really help with anything 108# version check and doesn't really help with anything
109 (cd ${S} && gnu-configize) || die "failure in running gnu-configize" 109 (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
110 find ${S} -name "configure" | xargs touch 110 find ${S} -name "configure" | xargs touch
111 # "plural.c" may or may not get regenerated from "plural.y" so we
112 # touch "plural.y" to make sure it does. (This should not be needed
113 # for glibc version 2.26+)
114 find ${S}/intl -name "plural.y" | xargs touch
111 CPPFLAGS="" oe_runconf 115 CPPFLAGS="" oe_runconf
112} 116}
113 117