bitbake.conf: don't append MACHINE_OVERRIDES to OVERRIDES when it's empty
authorMartin Jansa <martin.jansa@gmail.com>
Sat, 16 Oct 2010 09:24:41 +0000 (09:24 +0000)
committerDenys Dmytriyenko <denis@denix.org>
Fri, 22 Oct 2010 19:31:44 +0000 (15:31 -0400)
* empty MACHINE_OVERRIDES adds :: to OVERRIDES (then in FILESPATH skips
  every directory after this)
* strip() is needed to remove space in case some distribution has ie
  MACHINE_OVERRIDES ?= ""
  and then
  MACHINE_OVERRIDES += ""
  or
  MACHINE_OVERRIDES ?= "${MACHINE_CLASS}", where MACHINE_CLASS is empty again

While FILESPATH was fixed separately, having :: in OVERRIDES still makes
bitbake 1.8.18 to throw a "RuntimeError: Set changed size during iteration"
exception when used together with collections.inc, since bitbake is being
re-spawned in there. More details here:

http://thread.gmane.org/gmane.comp.handhelds.openembedded/38254/focus=38595

Acked-by: Chase Maupin <chase.maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
conf/bitbake.conf

index 923cf19..539ab3d 100644 (file)
@@ -677,8 +677,9 @@ BUILDCFG_NEEDEDVARS ?= "TARGET_ARCH TARGET_OS"
 # Overrides are processed left to right, so the ones that are named later take precedence.
 # You generally want them to go from least to most specific.
 MACHINE_OVERRIDES ?= ""
-OVERRIDES = "pn-${PN}:fail-fast:build-${BUILD_OS}:${TARGET_ARCH}:${TARGET_OS}:\
-${DISTRO}:${@':'.join(d.getVar('MACHINE_OVERRIDES', True).split())}:${MACHINE}:local"
+OVERRIDES = "pn-${PN}:fail-fast:build-${BUILD_OS}:${TARGET_ARCH}:${TARGET_OS}:${DISTRO}:\
+${@[':'.join(d.getVar('MACHINE_OVERRIDES', True).split())+':',''][d.getVar('MACHINE_OVERRIDES', True).strip() == '']}\
+${MACHINE}:local"
 
 ##################################################################
 # Include the rest of the config files.