[oe-commits] Jackie Huang : classextend: Do not extend for that already have multilib prefix

git at git.openembedded.org git at git.openembedded.org
Wed Nov 12 15:39:15 UTC 2014


Module: openembedded-core.git
Branch: master-next
Commit: c4e9b2aa894d59fe951038b3b73795b6891df70a
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=c4e9b2aa894d59fe951038b3b73795b6891df70a

Author: Jackie Huang <jackie.huang at windriver.com>
Date:   Mon Nov 10 20:54:11 2014 -0500

classextend: Do not extend for that already have multilib prefix

If a BSP supports two or more multilibs, for example:

    MULTILIBS = "multilib:lib32 multilib:lib64"

and a variable is already extended to include multilib variants,
for example in populate_sdk_base:

    commit 396371588c7fd2d691ca9c39cd02287e43cb665b
    Author: Richard Purdie <richard.purdie at linuxfoundation.org>
    Date: Thu Jul 24 22:09:09 2014 +0100

    populate_sdk_base: Extend TOOLCHAIN_TARGET_TASK to include multilib variants

    Most people expect the toolchain from a multilib build to contain multilib
    components. This change makes that happen and is easy for users to override
    should they want something different.

    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

The mapping clsextend.map_depends_variable("TOOLCHAIN_TARGET_TASK")
ends up with a wrong double extended package name like:

    lib32-lib64-packagegroup-core-standalone-sdk-target

This patch avoid such issues.

Signed-off-by: Jackie Huang <jackie.huang at windriver.com>
Signed-off-by: Ross Burton <ross.burton at intel.com>

---

 meta/lib/oe/classextend.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/meta/lib/oe/classextend.py b/meta/lib/oe/classextend.py
index 68efca3..8da87b7 100644
--- a/meta/lib/oe/classextend.py
+++ b/meta/lib/oe/classextend.py
@@ -57,6 +57,13 @@ class ClassExtender(object):
         if dep.endswith(("-native", "-native-runtime")) or ('nativesdk-' in dep) or ('cross-canadian' in dep) or ('-crosssdk-' in dep):
             return dep
         else:
+            # Do not extend for that already have multilib prefix
+            var = self.d.getVar("MULTILIB_VARIANTS", True)
+            if var:
+                var = var.split()
+                for v in var:
+                    if dep.startswith(v):
+                        return dep
             return self.extend_name(dep)
 
     def map_depends_variable(self, varname, suffix = ""):



More information about the Openembedded-commits mailing list