[OE-core] [PATCH 1/2] classes/multilib: ensure MLPREFIX is set for image recipes
Paul Eggleton
paul.eggleton at linux.intel.com
Fri Sep 21 16:40:36 UTC 2012
We need MLPREFIX to be set so that oe.utils.prune_suffix() (as used for
the value of BPN) can derive the bare name from the multilib-extended
name for image recipes. BPN being set correctly avoids missing file
warnings during parse from the file checksum code for (unusual) images
that set SRC_URI, such as build-appliance-image.
First half of the fix for [YOCTO #3146].
Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
---
meta/classes/multilib.bbclass | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index b1a593e..25cf068 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -11,13 +11,17 @@ python multilib_virtclass_handler () {
if bb.data.inherits_class('kernel', e.data) or bb.data.inherits_class('module-base', e.data):
raise bb.parse.SkipPackage("We shouldn't have multilib variants for the kernel")
- if bb.data.inherits_class('image', e.data):
- e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
- return
-
if bb.data.inherits_class('native', e.data):
raise bb.parse.SkipPackage("We can't extend native recipes")
+ # Set variables suitable for image recipes (as well as everything else)
+ e.data.setVar("MLPREFIX", variant + "-")
+ e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
+
+ if bb.data.inherits_class('image', e.data):
+ # We've set all we need to set for images here
+ return
+
save_var_name=e.data.getVar("MULTILIB_SAVE_VARNAME", True) or ""
for name in save_var_name.split():
val=e.data.getVar(name, True)
@@ -29,8 +33,6 @@ python multilib_virtclass_handler () {
override = ":virtclass-multilib-" + variant
- e.data.setVar("MLPREFIX", variant + "-")
- e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
e.data.setVar("SHLIBSDIR_virtclass-multilib-" + variant ,e.data.getVar("SHLIBSDIR", False) + "/" + variant)
if e.data.getVar("TARGET_VENDOR_virtclass-multilib-" + variant, False) is None:
e.data.setVar("TARGET_VENDOR_virtclass-multilib-" + variant, e.data.getVar("TARGET_VENDOR", False) + "ml" + variant)
--
1.7.9.5
More information about the Openembedded-core
mailing list