Skip to contentSkip to conversation

multilib: Set PN correctly on cross-canadian extension cases

PATCH New Richard Purdie 1 participant 1 message May 30, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 multilib: Set PN correctly on cross-canadian extension cases

When we extended cross-canadian recipes with multilib, we were seeing failures since PN was unchanged.

"""
ERROR: Multiple versions of gcc-cross-canadian-i586 are due to be built (/media/build1/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_4.9.bb virtual:multilib:lib32:/media/build1/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_4.9.bb). Only one version of a given PN should be built in any given build.
You likely need to set PREFERRED_VERSION_gcc-cross-canadian-i586 to
select the correct version or don't depend on multiple versions.
"""

This change avoids that error.

meta/classes/multilib.bbclass +1 -0
index 9a1cb1d..abefc79 100644
@@ -26,6 +26,7 @@ python multilib_virtclass_handler () {
     if bb.data.inherits_class('cross-canadian', e.data):
         e.data.setVar("MLPREFIX", variant + "-")
         override = ":virtclass-multilib-" + variant
+        e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
         e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override)
         bb.data.update_data(e.data)
         return