From patchwork Fri Sep 21 16:40:36 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [1/2] classes/multilib: ensure MLPREFIX is set for image recipes Date: Fri, 21 Sep 2012 16:40:36 -0000 From: Paul Eggleton X-Patchwork-Id: 37011 Message-Id: <12e61841995abb0cd1a96b334edc982c80a7d47f.1348245594.git.paul.eggleton@linux.intel.com> To: openembedded-core@lists.openembedded.org 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 --- 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)