Skip to contentSkip to conversation

multilib.bbclass: fix incorrect TARGET_VENDOR in multilib image

RFC PATCH New Hongxu Jia 1 participant 2 messages Oct 16, 2014

lore
Share & tools
lore

Hongxu Jia

author
#0 lore raw

cover multilib.bbclass: fix incorrect TARGET_VENDOR in multilib image

While multilib enabled, both of lib32-core-image-minimal and core-image-minimal's WORKDIR located in the same dir.

$ ls tmp/work/qemux86_64-poky-linux/ -al
...
drwxrwxr-x  3 jiahongxu jiahongxu 4096 Oct 13 16:01 core-image-minimal
drwxrwxr-x  3 jiahongxu jiahongxu 4096 Oct 16 11:11 lib32-core-image-minimal
...

The reason is variable TARGET_VENDOR was not override for multilib in that situation.

Is it necessary to do the multilib expansion on TARGET_VENDOR ? (See the following patch)

It affected many other variables, such as:
"HOST_VENDOR, STAGING_BINDIR_TOOLCHAIN, TARGET_SYS, MULTIMACH_TARGET_SYS, REAL_MULTIMACH_TARGET_SYS, SSTATE_PKGSPEC"

If we do the modification, there may be potential issues which were caused by the above variables.

Any suggestions is welcomed.

//Hongxu

The following changes since commit ccf5a4d2342c4fd40e4e0b332ea7e34e0bf175d4:

build-appliance-image: Update to dizzy head revision (2014-10-11 08:11:17 +0100)

are available in the git repository at:

git://git.pokylinux.org/poky-contrib hongxu/fix-ml-rfc
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=hongxu/fix-ml-rfc

Hongxu Jia (1):
multilib.bbclass: fix incorrect TARGET_VENDOR in multilib image

 meta/classes/multilib.bbclass | 3 +++
 1 file changed, 3 insertions(+)
Signature · 1 line
1.9.1
author
#1 lore raw

PATCH 1/1 multilib.bbclass: fix incorrect TARGET_VENDOR in multilib image

While building multilib extended images such as libXX-core-image-minimal, the WORKDIR has the same dir with the building of core-image-minimal.

$ ls tmp/work/qemux86_64-poky-linux/ -al
...
drwxrwxr-x  3 jiahongxu jiahongxu 4096 Oct 13 16:01 core-image-minimal
drwxrwxr-x  3 jiahongxu jiahongxu 4096 Oct 16 11:11 lib32-core-image-minimal
...

While image class is inherited, it did not assign OVERRIDES with 'virtclass-multilib-libXXX', so the reason is variable TARGET_VENDOR was not override for multilib in that situation.

It refers what did for PN and MLPREFIX, and manually do the multilib override for TARGET_VENDOR in RecipePreFinalise handler.

[YOCTO #6844]

---
 meta/classes/multilib.bbclass | 3 +++
 1 file changed, 3 insertions(+)
meta/classes/multilib.bbclass +3 -0
index 6e143dd..2a90d9e 100644
@@ -21,6 +21,9 @@ python multilib_virtclass_handler () {
     if bb.data.inherits_class('image', e.data):
         e.data.setVar("MLPREFIX", variant + "-")
         e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
+        target_vendor = e.data.getVar("TARGET_VENDOR_" + "virtclass-multilib-" + variant, False)
+        if target_vendor:
+            e.data.setVar("TARGET_VENDOR", target_vendor)
         return
 
     if bb.data.inherits_class('cross-canadian', e.data):
Signature · 1 line
1.9.1