[OE-core] [PATCH] base.bbclass: Fix incorrect setting of multilib PREFERRED_PROVIDER_virtual_pkg

Mark Hatle mark.hatle at windriver.com
Thu Nov 21 06:54:00 UTC 2013


From: Lei Liu <lei.liu2 at windriver.com>

PREFERRED_PROVIDER_virtual_pkg has been incorrectly set with more
than one multilib prefixes.  For example, if we have two alternative
multilibs lib64 and lib32, PREFERRED_PROVIDER_virtual_pkg will be
set to lib32-lib64-pkg or lib64-lib32-pkg, depending on which
multilib shows up first in the list.

Signed-off-by: Lei Liu <lei.liu2 at windriver.com>
Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
---
 meta/classes/base.bbclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index fc6abf9..dfd77b9 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -210,7 +210,7 @@ def preferred_ml_updates(d):
             virt = "virtual/"
         for p in prefixes:
             if pkg != "kernel":
-                val = p + "-" + val
+                newval = p + "-" + val
 
             # implement variable keys
             localdata = bb.data.createCopy(d)
@@ -219,12 +219,12 @@ def preferred_ml_updates(d):
             bb.data.update_data(localdata)
             newname = localdata.expand(prov)
             if newname != prov and not d.getVar(newname, False):
-                d.setVar(newname, localdata.expand(val))
+                d.setVar(newname, localdata.expand(newval))
 
             # implement alternative multilib name
             newname = localdata.expand("PREFERRED_PROVIDER_" + virt + p + "-" + pkg)
             if not d.getVar(newname, False):
-                d.setVar(newname, val)
+                d.setVar(newname, newval)
         # Avoid future variable key expansion
         provexp = d.expand(prov)
         if prov != provexp and d.getVar(prov, False):
-- 
1.8.1.2.545.g2f19ada




More information about the Openembedded-core mailing list