poky/meta/recipes-core/glibc
Jason Wessel 96b1062476 glibc / glibc-locale: Fix stash_locale determinism problems
When using sstate, or performing an incremental build any change to
the do_stash_locale() will cause a build failure because
do_stash_locale() was destroying the results obtained from the
do_install() with several mv operations.  A recent change to
do_stash_locale() for a different problem illustrated a number of
build failures for users in the community.

To fix the problem, do_stash_locale() must use copy operations instead
of the mv operations.  Because this is changed to a copy, the sysroot
and package stage need to remove the files that would have been
previously removed.  The correct "fixup" code to deal with the removal
already existed in the previous do_poststash_install_cleanup().  All
that needed change was the path to where to remove the files
from the sysroot and package stages.

In order to force a re-compilation of glibc some unused white space
was removed from do_compile() for glibc.  I could not find any other
way around this and we don't want to have all the community folks to
have another iteration where they have to remove their tmp directories
or purge some portion of the sstate.  It also makes this change
bisectable. If the change to the glibc is not included, it will fail
with the following message:

=====
| DEBUG: Executing shell function do_prep_locale_tree
| tar: i18n: Cannot stat: No such file or directory
| tar: Exiting with failure status due to previous errors
| gzip: /poky/build/tmp/work/core2-64-poky-linux/glibc-locale/2.29-r0/locale-tree//usr/share/i18n/charmaps/*gz.gz: No such file or directory
=====

After this one time change I tested changing only the
do_stash_locale() function and it now works well because it is
deterministically operating off the sstate data or a local build.

(From OE-Core rev: fedc57a41a15bca1d96d14e25e2df0bb1eca904d)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-10 09:56:22 +01:00
..
glibc glibc: fix CVE-2019-9169 2019-03-24 17:00:52 +00:00
ldconfig-native-2.12.1 ldconfig-native: Fix ELF flags on 64-bit binaries 2016-03-31 13:18:06 +01:00
cross-localedef-native_2.29.bb glibc: Fix pthread_rwlock_try*lock stalls 2019-02-05 13:53:48 +00:00
glibc_2.29.bb glibc / glibc-locale: Fix stash_locale determinism problems 2019-07-10 09:56:22 +01:00
glibc-collateral.inc glibc: Move common bits to glibc-common.inc 2019-02-28 17:47:10 +00:00
glibc-common.inc glibc: Move common bits to glibc-common.inc 2019-02-28 17:47:10 +00:00
glibc-ld.inc glibc: improve reproducibility with multilib 2018-12-08 17:17:01 +00:00
glibc-locale_2.29.bb glibc: Update to 2.29 release 2019-02-02 11:05:59 +00:00
glibc-locale.inc glibc-locale: Fix build error with PACKAGE_NO_GCONV = "1" 2019-07-03 17:00:57 +01:00
glibc-mtrace_2.29.bb glibc: Update to 2.29 release 2019-02-02 11:05:59 +00:00
glibc-mtrace.inc bitbake.conf: Add COMPONENTS_DIR for ${STAGING_DIR}-components 2017-05-11 16:55:59 +01:00
glibc-package.inc glibc / glibc-locale: Fix stash_locale determinism problems 2019-07-10 09:56:22 +01:00
glibc-scripts_2.29.bb glibc: Update to 2.29 release 2019-02-02 11:05:59 +00:00
glibc-scripts.inc bitbake.conf: Add COMPONENTS_DIR for ${STAGING_DIR}-components 2017-05-11 16:55:59 +01:00
glibc-testing.inc glibc-testing.inc: drop pruning of PATCH_GET from the testglibc script 2016-01-30 11:37:03 +00:00
glibc.inc glibc: Disable Werror when building with debug options 2019-03-02 16:49:07 +00:00
ldconfig-native_2.12.1.bb ldconfig-native: Add 64-bit flag for ELF64 entries 2015-07-08 00:01:22 +01:00