summaryrefslogtreecommitdiffstats
path: root/meta/classes/multilib.bbclass
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2013-01-31 13:31:04 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-02-01 15:40:44 +0000
commitdc7d181ab03ceab87a24d932130109003334dbf8 (patch)
tree10459c0f9cac28b40d10248daae7e8470eb286c1 /meta/classes/multilib.bbclass
parentc753f9d59f4d0a5af4ea5deb6e2b9609e05314e2 (diff)
downloadopenembedded-core-dc7d181ab03ceab87a24d932130109003334dbf8.tar.gz
openembedded-core-dc7d181ab03ceab87a24d932130109003334dbf8.tar.bz2
openembedded-core-dc7d181ab03ceab87a24d932130109003334dbf8.zip
multilib: skip packages that provide virtual/kernel
Rather than keying on recipes that inherit kernel.bbclass, we should be checking for providers of virtual/kernel when skipping kernel recipes in multlib builds. Not all providers of virtual/kernel inherit kernel.bbclass (notably linux-dummy), so checking on the provider is a more complete check. We need to be sure to check for inheritance of module-base as well, this allows for packages that provides modules to avoid the multilib renaming. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/multilib.bbclass')
-rw-r--r--meta/classes/multilib.bbclass4
1 files changed, 3 insertions, 1 deletions
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index f5f3c69363..f1696b6b7c 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -10,7 +10,9 @@ python multilib_virtclass_handler () {
e.data.setVar('STAGING_KERNEL_DIR', e.data.getVar('STAGING_KERNEL_DIR', True))
# There should only be one kernel in multilib configs
- if bb.data.inherits_class('kernel', e.data) or bb.data.inherits_class('module-base', e.data):
+ # We also skip multilib setup for module packages.
+ provides = (e.data.getVar("PROVIDES", True) or "").split()
+ if "virtual/kernel" in provides 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):