From: Richard Purdie Date: Wed, 7 May 2014 14:03:18 +0000 (+0100) Subject: base.bbclass: Fix multilib PREFERRED_VERSION handling X-Git-Tag: 2015-4~2894 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=d2b18d7692229d4b87b38becf173b1f8b6e90025;p=openembedded-core.git base.bbclass: Fix multilib PREFERRED_VERSION handling Now that gcc-cross, gcc-crosssdk and others have expanded variables in their names, the code that previous just applied to cross-canadian needs expanding to cover the other cases. Improve the conditional and also fix a bug where the multilib prefix wasn't being added into the generated versions. Signed-off-by: Richard Purdie --- diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 10cb84ac91..8a74d6e578 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -157,15 +157,15 @@ def preferred_ml_updates(d): for v in versions: val = d.getVar(v, False) pkg = v.replace("PREFERRED_VERSION_", "") - if pkg.endswith(("-native", "-crosssdk")) or pkg.startswith(("nativesdk-", "virtual/nativesdk-")): + if pkg.endswith("-native") or "-crosssdk-" in pkg or pkg.startswith(("nativesdk-", "virtual/nativesdk-")): continue - if 'cross-canadian' in pkg: + if '-cross-' in pkg and '${' in pkg: for p in prefixes: localdata = bb.data.createCopy(d) override = ":virtclass-multilib-" + p localdata.setVar("OVERRIDES", localdata.getVar("OVERRIDES", False) + override) bb.data.update_data(localdata) - newname = localdata.expand(v) + newname = localdata.expand(v).replace("PREFERRED_VERSION_", "PREFERRED_VERSION_" + p + '-') if newname != v: newval = localdata.expand(val) d.setVar(newname, newval)