summaryrefslogtreecommitdiffstats
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-05-08 12:03:16 +0100
commit18285be0dfcb9cfec786dd79acd27ab4d0838bd2 (patch)
tree6bd60f2ac4ec4688ee46707d0f312df8317ef8f0
parent6798c0ef23a8e48719179305dd81a54a72b986fb (diff)
downloadpoky-18285be0dfcb9cfec786dd79acd27ab4d0838bd2.tar.gz
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. (From OE-Core rev: 036bf4dd800147f18b9b1451061e7e7a794300a7) 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>
-rw-r--r--meta/classes/multilib.bbclass4
-rw-r--r--meta/lib/oe/classextend.py2
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 () {
10 e.data.setVar('STAGING_KERNEL_DIR', e.data.getVar('STAGING_KERNEL_DIR', True)) 10 e.data.setVar('STAGING_KERNEL_DIR', e.data.getVar('STAGING_KERNEL_DIR', True))
11 11
12 # There should only be one kernel in multilib configs 12 # There should only be one kernel in multilib configs
13 if bb.data.inherits_class('kernel', e.data) or bb.data.inherits_class('module-base', e.data): 13 # We also skip multilib setup for module packages.
14 provides = (e.data.getVar("PROVIDES", True) or "").split()
15 if "virtual/kernel" in provides or bb.data.inherits_class('module-base', e.data):
14 raise bb.parse.SkipPackage("We shouldn't have multilib variants for the kernel") 16 raise bb.parse.SkipPackage("We shouldn't have multilib variants for the kernel")
15 17
16 if bb.data.inherits_class('image', e.data): 18 if bb.data.inherits_class('image', e.data):
diff --git a/meta/lib/oe/classextend.py b/meta/lib/oe/classextend.py
index fe9b566e7c..a45df3a98b 100644
--- a/meta/lib/oe/classextend.py
+++ b/meta/lib/oe/classextend.py
@@ -5,7 +5,7 @@ class ClassExtender(object):
5 self.pkgs_mapping = [] 5 self.pkgs_mapping = []
6 6
7 def extend_name(self, name): 7 def extend_name(self, name):
8 if name.startswith("kernel-module"): 8 if name.startswith("kernel-module") or name == "virtual/kernel":
9 return name 9 return name
10 if name.startswith("rtld"): 10 if name.startswith("rtld"):
11 return name 11 return name