[oe-commits] Saul Wold : binutils: the cat should always succeed when building config. cache

git at git.openembedded.org git at git.openembedded.org
Tue May 28 13:28:40 UTC 2013


Module: openembedded-core.git
Branch: master-next
Commit: ffd8f05e5548500199c9b04a174067811ad2c5e7
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=ffd8f05e5548500199c9b04a174067811ad2c5e7

Author: Saul Wold <sgw at linux.intel.com>
Date:   Thu May 23 10:13:09 2013 -0700

binutils: the cat should always succeed when building config.cache

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 at linux.intel.com>

---

 meta/recipes-devtools/binutils/binutils.inc |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/meta/recipes-devtools/binutils/binutils.inc b/meta/recipes-devtools/binutils/binutils.inc
index 1e59296..5e78dc0 100644
--- a/meta/recipes-devtools/binutils/binutils.inc
+++ b/meta/recipes-devtools/binutils/binutils.inc
@@ -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
 }
 



More information about the Openembedded-commits mailing list