diff options
authorBruce Ashfield <>2013-01-31 13:31:04 -0500
committerRoss Burton <>2013-04-30 11:06:16 +0100
commit036bf4dd800147f18b9b1451061e7e7a794300a7 (patch)
parent18b401f4f8e931dca08a2e9be34e94c49b5215b9 (diff)
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 <> Signed-off-by: Mark Hatle <> Signed-off-by: Richard Purdie <>
2 files changed, 4 insertions, 2 deletions
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index 3824f3b117..3f271960b3 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -10,7 +10,9 @@ python multilib_virtclass_handler () {'STAGING_KERNEL_DIR','STAGING_KERNEL_DIR', True))
# There should only be one kernel in multilib configs
- if'kernel', or'module-base',
+ # We also skip multilib setup for module packages.
+ provides = ("PROVIDES", True) or "").split()
+ if "virtual/kernel" in provides or'module-base',
raise bb.parse.SkipPackage("We shouldn't have multilib variants for the kernel")
diff --git a/meta/lib/oe/ b/meta/lib/oe/
index fe9b566e7c..a45df3a98b 100644
--- a/meta/lib/oe/
+++ b/meta/lib/oe/
@@ -5,7 +5,7 @@ class ClassExtender(object):
self.pkgs_mapping = []
def extend_name(self, name):
- if name.startswith("kernel-module"):
+ if name.startswith("kernel-module") or name == "virtual/kernel":
return name
if name.startswith("rtld"):
return name