Skip to contentSkip to conversation

Don't expand vars which starts with multilib prefix already

PATCH In review [email protected] 1 participant 4 messages Nov 13, 2015 – Jan 25, 2016

lore
Share & tools
lore
#0 lore raw

cover Don't expand vars which starts with multilib prefix already

From: Kai Kang <[email protected]>

Test steps:
1 set MACHINE and multilibs in local.conf

===============================================
MACHINE = "qemux86-64"

require conf/multilib.conf
MULTILIBS = "multilib:lib32 multilib:lib64"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
DEFAULTTUNE_virtclass-multilib-lib64 = "x86-64"
===============================================

2 bitbake lib64-meta-ide-support core-image-sato

The following changes since commit fc45deac89ef63ca1c44e763c38ced7dfd72cbe1:

build-appliance-image: Update to jethro head revision (2015-11-03 14:03:03 +0000)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib kangkai/multilib
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=kangkai/multilib

Kai Kang (1):
toolchain-scripts.bbclass: do not expand vars which starts with
multilib prefixes

 meta/classes/toolchain-scripts.bbclass | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
Signature · 1 line
2.6.1
#1 lore raw

PATCH 1/1 toolchain-scripts.bbclass: do not expand vars which starts with multilib prefixes

From: Kai Kang <[email protected]>

When set MULTILIBS with two or more items, such as

MULTILIBS = "multilib:lib32 multilib:lib64"

It expands depends once in mutlib.bbclass, and expand again in toolchain-scripts.bbclass that causes error:

| ERROR: Nothing PROVIDES 'virtual/lib32-lib64-libc'.

Check before expand a var. If starts with a multilib prefix, ignore it.

---
 meta/classes/toolchain-scripts.bbclass | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
meta/classes/toolchain-scripts.bbclass +11 -1
index d0b2b91..3878a42 100644
@@ -146,7 +146,17 @@ python __anonymous () {
     deps = ""
     for dep in (d.getVar('TOOLCHAIN_NEED_CONFIGSITE_CACHE', True) or "").split():
         deps += " %s:do_populate_sysroot" % dep
-        for variant in (d.getVar('MULTILIB_VARIANTS', True) or "").split():
+
+        ml_variants = (d.getVar('MULTILIB_VARIANTS', True) or "").split()
+        extended = False
+        for variant in ml_variants:
+            if dep.startswith(variant) or dep.startswith('virtual/' + variant):
+                extended = True
+                break
+        if extended:
+            continue
+
+        for variant in ml_variants:
             clsextend = oe.classextend.ClassExtender(variant, d)
             newdep = clsextend.extend_name(dep)
             deps += " %s:do_populate_sysroot" % newdep
Signature · 1 line
2.6.1
author
#2 lore raw
In reply to [email protected]
Quoted 25 lines · On 2015年11月13日 17:24, [email protected] wrote:

From: Kai Kang <[email protected]>

Test steps:
1 set MACHINE and multilibs in local.conf

===============================================
MACHINE = "qemux86-64"

require conf/multilib.conf
MULTILIBS = "multilib:lib32 multilib:lib64"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
DEFAULTTUNE_virtclass-multilib-lib64 = "x86-64"
===============================================

2 bitbake lib64-meta-ide-support core-image-sato

The following changes since commit fc45deac89ef63ca1c44e763c38ced7dfd72cbe1:

   build-appliance-image: Update to jethro head revision (2015-11-03 14:03:03 +0000)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib kangkai/multilib
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=kangkai/multilib

Quoted 7 lines

Kai Kang (1):
toolchain-scripts.bbclass: do not expand vars which starts with
multilib prefixes

  meta/classes/toolchain-scripts.bbclass | 12 +++++++++++-
  1 file changed, 11 insertions(+), 1 deletion(-)

Ping.

Signature · 2 lines
Regards,
Neil | Kai Kang
author
#3 lore raw
Quoted 30 lines · Kang Kai
Quoted 29 lines · On 2015年11月13日 17:24, [email protected] wrote:

From: Kai Kang<[email protected]>

Test steps:
1 set MACHINE and multilibs in local.conf

===============================================
MACHINE = "qemux86-64"

require conf/multilib.conf
MULTILIBS = "multilib:lib32 multilib:lib64"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
DEFAULTTUNE_virtclass-multilib-lib64 = "x86-64"
===============================================

2 bitbake lib64-meta-ide-support core-image-sato

The following changes since commit fc45deac89ef63ca1c44e763c38ced7dfd72cbe1:

   build-appliance-image: Update to jethro head revision (2015-11-03 14:03:03 +0000)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib kangkai/multilib
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=kangkai/multilib

Kai Kang (1):
toolchain-scripts.bbclass: do not expand vars which starts with
multilib prefixes

Quoted 5 lines
Quoted 3 lines
  meta/classes/toolchain-scripts.bbclass | 12 +++++++++++-
  1 file changed, 11 insertions(+), 1 deletion(-)

Ping.

Ping again.

Quoted 4 lines
Signature · 3 lines
-- 
Regards,
Neil | Kai Kang
Signature · 2 lines
Regards,
Neil | Kai Kang