Skip to contentSkip to conversation

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

PATCH New Saul Wold 1 participant 1 message May 23, 2013

lore
Share & tools
lore

Saul Wold

author
#0 lore raw

PATCH 1/1 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.

---
 meta/recipes-devtools/binutils/binutils.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-devtools/binutils/binutils.inc +1 -1
index 1e59296..5e78dc0 100644
@@ -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
 }
 
Signature · 1 line
1.8.1.4