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: dc7d181ab03ceab87a24d932130109003334dbf8) 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>
This commit is contained in:
parent
dbfa6f9563
commit
12e76e123f
|
@ -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):
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue