]> code.ossystems Code Review - openembedded-core.git/commitdiff
binutils: the cat should always succeed when building config.cache
authorSaul Wold <sgw@linux.intel.com>
Thu, 23 May 2013 17:13:09 +0000 (10:13 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 24 May 2013 13:07:03 +0000 (14:07 +0100)
There is a race condition between when the CONFIG_SITE list is generated and
then used here via the cat to create the config.cache and in *all* configure
scripts when reading from CONFIG_SITE.

The race in this case is that the sstate setscene task runs on a package that
contains a site config file (ncurses in this case) and then bitbake decides
that it needs to rebuild and cleans out the site config file, so it existed
for siteinfo_get_files() to find in SITECONFIG_SYSROOTCACHE and then was removed
for the rebuild. When bintuils tried to run the do_configure() task which creates
the binutil's version of config.cache it reads from CONFIG_SITE which now contains
the non-existant site config file. (confused yet ;-)?

Currently the configure script does a test -r to ensure the file is readable
before using it, therefore having the cat succeed regardless of the file being
available is consistent behaviour.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
meta/recipes-devtools/binutils/binutils.inc

index 1e592962ee2abe32eb4a66311e075a3477c0a394..5e78dc03df824b52fc676a8779df730a75a032a3 100644 (file)
@@ -90,7 +90,7 @@ do_configure () {
 #
        mkdir -p ${B}/build-${BUILD_SYS}
        for i in ${CONFIG_SITE}; do
-               cat $i >> ${B}/build-${BUILD_SYS}/config.cache
+               cat $i >> ${B}/build-${BUILD_SYS}/config.cache || true
        done
 }