diff options
| author | Bruce Ashfield <bruce.ashfield@windriver.com> | 2013-01-31 13:31:04 -0500 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-05-08 12:03:16 +0100 |
| commit | 18285be0dfcb9cfec786dd79acd27ab4d0838bd2 (patch) | |
| tree | 6bd60f2ac4ec4688ee46707d0f312df8317ef8f0 /meta | |
| parent | 6798c0ef23a8e48719179305dd81a54a72b986fb (diff) | |
| download | poky-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>
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/classes/multilib.bbclass | 4 | ||||
| -rw-r--r-- | 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 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 |
