From patchwork Thu Jan 31 18:31:04 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [2/2] multilib: skip packages that provide virtual/kernel Date: Thu, 31 Jan 2013 18:31:04 -0000 From: Bruce Ashfield X-Patchwork-Id: 43773 Message-Id: <828b1143477da079956a5541f8cc66c07ab6a3cc.1359656303.git.bruce.ashfield@windriver.com> To: richard.purdie@linuxfoundation.org Cc: openembedded-core@lists.openembedded.org 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 --- meta/classes/multilib.bbclass | 4 +++- meta/lib/oe/classextend.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass index f5f3c69..f1696b6 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): diff --git a/meta/lib/oe/classextend.py b/meta/lib/oe/classextend.py index 19e1254..61cbb8f 100644 --- a/meta/lib/oe/classextend.py +++ b/meta/lib/oe/classextend.py @@ -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