diff options
author | Juro Bystricky <juro.bystricky@intel.com> | 2018-01-22 14:59:49 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-01-23 23:43:46 +0000 |
commit | 674283515fa671c37c81be008fd10a1d0fb1c6e1 (patch) | |
tree | 565f0ea691311bb52ae97552357d363fdd23c826 /meta | |
parent | c44980abaf4ef3756597c0c5b51678253a56a5f5 (diff) | |
download | poky-674283515fa671c37c81be008fd10a1d0fb1c6e1.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: b79eeb68c6ad7c92a3e54c6f97a8bf49f0098206)
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-core/glibc/glibc_2.26.bb | 6 |
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 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 \ | |||
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 | ||
8 | DEPENDS += "gperf-native" | 8 | DEPENDS += "gperf-native bison-native" |
9 | 9 | ||
10 | SRCREV ?= "77f921dac17c5fa99bd9e926d926c327982895f7" | 10 | SRCREV ?= "77f921dac17c5fa99bd9e926d926c327982895f7" |
11 | 11 | ||
@@ -106,6 +106,10 @@ do_configure () { | |||
106 | # version check and doesn't really help with anything | 106 | # version check and doesn't really help with anything |
107 | (cd ${S} && gnu-configize) || die "failure in running gnu-configize" | 107 | (cd ${S} && gnu-configize) || die "failure in running gnu-configize" |
108 | find ${S} -name "configure" | xargs touch | 108 | find ${S} -name "configure" | xargs touch |
109 | # "plural.c" may or may not get regenerated from "plural.y" so we | ||
110 | # touch "plural.y" to make sure it does. (This should not be needed | ||
111 | # for glibc version 2.26+) | ||
112 | find ${S}/intl -name "plural.y" | xargs touch | ||
109 | CPPFLAGS="" oe_runconf | 113 | CPPFLAGS="" oe_runconf |
110 | } | 114 | } |
111 | 115 | ||