]> code.ossystems Code Review - openembedded-core.git/commitdiff
base.bbclass: Fix multilib PREFERRED_VERSION handling
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 7 May 2014 14:03:18 +0000 (15:03 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 7 May 2014 14:10:54 +0000 (15:10 +0100)
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 <richard.purdie@linuxfoundation.org>
meta/classes/base.bbclass

index 10cb84ac9109084ae28f0676fc886ad7ddfebaf5..8a74d6e578a1bfdbac5a73bd01ce80e4d9990cd4 100644 (file)
@@ -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)