From: Jackie Huang Date: Tue, 11 Nov 2014 01:54:11 +0000 (-0500) Subject: classextend: Do not extend for that already have multilib prefix X-Git-Tag: 2015-4~1205 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=c4e9b2aa894d59fe951038b3b73795b6891df70a;p=openembedded-core.git 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 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 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 Signed-off-by: Ross Burton --- diff --git a/meta/lib/oe/classextend.py b/meta/lib/oe/classextend.py index 68efca32d0..8da87b771a 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 = ""):