diff options
Diffstat (limited to 'poky/meta/classes/multilib.bbclass')
-rw-r--r-- | poky/meta/classes/multilib.bbclass | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/poky/meta/classes/multilib.bbclass b/poky/meta/classes/multilib.bbclass index 1a9295d36..9f726e453 100644 --- a/poky/meta/classes/multilib.bbclass +++ b/poky/meta/classes/multilib.bbclass @@ -91,13 +91,12 @@ addhandler multilib_virtclass_handler multilib_virtclass_handler[eventmask] = "bb.event.RecipePreFinalise" python __anonymous () { - variant = d.getVar("BBEXTENDVARIANT") - - import oe.classextend + if bb.data.inherits_class('image', d): + variant = d.getVar("BBEXTENDVARIANT") + import oe.classextend - clsextend = oe.classextend.ClassExtender(variant, d) + clsextend = oe.classextend.ClassExtender(variant, d) - if bb.data.inherits_class('image', d): clsextend.map_depends_variable("PACKAGE_INSTALL") clsextend.map_depends_variable("LINGUAS_INSTALL") clsextend.map_depends_variable("RDEPENDS") @@ -109,6 +108,22 @@ python __anonymous () { bb.build.deltask('do_populate_sdk', d) bb.build.deltask('do_populate_sdk_ext', d) return +} + +python multilib_virtclass_handler_postkeyexp () { + cls = d.getVar("BBEXTENDCURR") + variant = d.getVar("BBEXTENDVARIANT") + if cls != "multilib" or not variant: + return + + variant = d.getVar("BBEXTENDVARIANT") + + import oe.classextend + + clsextend = oe.classextend.ClassExtender(variant, d) + + if bb.data.inherits_class('image', d): + return clsextend.map_depends_variable("DEPENDS") clsextend.map_variable("PROVIDES") @@ -129,6 +144,9 @@ python __anonymous () { reset_alternative_priority(d) } +addhandler multilib_virtclass_handler_postkeyexp +multilib_virtclass_handler_postkeyexp[eventmask] = "bb.event.RecipePostKeyExpansion" + def reset_alternative_priority(d): if not bb.data.inherits_class('update-alternatives', d): return @@ -184,11 +202,12 @@ python do_package_qa_multilib() { for i in values: if i.startswith('virtual/'): i = i[len('virtual/'):] - if (not i.startswith('kernel-module')) and (not i.startswith(mlprefix)) and \ - (not 'cross-canadian' in i) and (not i.startswith("nativesdk-")) and \ - (not i.startswith("rtld")) and (not i.startswith('kernel-vmlinux')) \ - and (not i.startswith("kernel-image")) and (not i.startswith("/")): + + if (not (i.startswith(mlprefix) or i.startswith("kernel-") \ + or ('cross-canadian' in i) or i.startswith("nativesdk-") \ + or i.startswith("rtld") or i.startswith("/"))): candidates.append(i) + if len(candidates) > 0: msg = "%s package %s - suspicious values '%s' in %s" \ % (d.getVar('PN'), pkg, ' '.join(candidates), var) |