[OE-core] [PATCH] base.bbclass: Silence PREFERRED_PROVIDER warnings for sdk builds
Richard Purdie
richard.purdie at linuxfoundation.org
Thu May 1 14:39:56 UTC 2014
Unfortunately expandKeys() notices overlap between the SDK and TARGET
PREFERRED_PROVIDERS entries when we set things up for the SDK recipes.
To avoid this, delete one of the sets of keys to avoid supurious warnings.
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 1c40043..5c2d6a2 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -284,7 +284,7 @@ def buildcfg_neededvars(d):
bb.fatal('The following variable(s) were not set: %s\nPlease set them directly, or choose a MACHINE or DISTRO that sets them.' % ', '.join(pesteruser))
addhandler base_eventhandler
-base_eventhandler[eventmask] = "bb.event.ConfigParsed bb.event.BuildStarted"
+base_eventhandler[eventmask] = "bb.event.ConfigParsed bb.event.BuildStarted bb.event.RecipePreFinalise"
python base_eventhandler() {
if isinstance(e, bb.event.ConfigParsed):
e.data.setVar("NATIVELSBSTRING", lsb_distro_identifier(e.data))
@@ -312,6 +312,18 @@ python base_eventhandler() {
statusheader = e.data.getVar('BUILDCFG_HEADER', True)
bb.plain('\n%s\n%s\n' % (statusheader, '\n'.join(statuslines)))
+
+ # This code is to silence warnings where the SDK variables overwrite the
+ # target ones and we'd see dulpicate key names overwriting each other
+ # for various PREFERRED_PROVIDERS
+ if isinstance(e, bb.event.RecipePreFinalise):
+ if e.data.getVar("TARGET_PREFIX", True) == e.data.getVar("SDK_PREFIX", True):
+ e.data.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils")
+ e.data.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial")
+ e.data.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc")
+ e.data.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++")
+ e.data.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs")
+
}
addtask configure after do_patch
More information about the Openembedded-core
mailing list