diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-09-22 22:15:58 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-09-22 22:23:37 +0100 |
commit | ea0b7440ec5a8663b66f56a19f0b38e803b523d3 (patch) | |
tree | 786fb8042d0935943e73629da4ae5e816c9a6f90 /meta/classes/multilib.bbclass | |
parent | ca64b2eb1f1fd3b298e9384752b2fd806f7e4a12 (diff) | |
download | poky-ea0b7440ec5a8663b66f56a19f0b38e803b523d3.tar.gz |
multilib.bbclass: Partially fix multlib image targets
This patch partially fixes problems when building multilib extended
images such as libXX-core-image-minimal. Its not a perfect/complete
solution but works much better than any previous code did.
[YOCTO #1496] (partial)
[YOCTO #1497] (partial)
[YOCTO #1498] (partial)
(From OE-Core rev: 00c38774ef0232cc2be924ed8e59220e7c452096)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/multilib.bbclass')
-rw-r--r-- | meta/classes/multilib.bbclass | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass index 138dd27a6e..98f69116b8 100644 --- a/meta/classes/multilib.bbclass +++ b/meta/classes/multilib.bbclass | |||
@@ -11,6 +11,10 @@ python multilib_virtclass_handler () { | |||
11 | if bb.data.inherits_class('kernel', e.data) or bb.data.inherits_class('module-base', e.data) or bb.data.inherits_class('allarch', e.data): | 11 | if bb.data.inherits_class('kernel', e.data) or bb.data.inherits_class('module-base', e.data) or bb.data.inherits_class('allarch', e.data): |
12 | raise bb.parse.SkipPackage("We shouldn't have multilib variants for the kernel") | 12 | raise bb.parse.SkipPackage("We shouldn't have multilib variants for the kernel") |
13 | 13 | ||
14 | if bb.data.inherits_class('image', e.data): | ||
15 | e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False)) | ||
16 | return | ||
17 | |||
14 | save_var_name=e.data.getVar("MULTILIB_SAVE_VARNAME", True) or "" | 18 | save_var_name=e.data.getVar("MULTILIB_SAVE_VARNAME", True) or "" |
15 | for name in save_var_name.split(): | 19 | for name in save_var_name.split(): |
16 | val=e.data.getVar(name, True) | 20 | val=e.data.getVar(name, True) |
@@ -48,6 +52,15 @@ python __anonymous () { | |||
48 | newdeps.append(multilib_extend_name(variant, dep)) | 52 | newdeps.append(multilib_extend_name(variant, dep)) |
49 | d.setVar(varname, " ".join(newdeps)) | 53 | d.setVar(varname, " ".join(newdeps)) |
50 | 54 | ||
55 | if bb.data.inherits_class('image', d): | ||
56 | map_dependencies("PACKAGE_INSTALL", d) | ||
57 | pinstall = d.getVar("PACKAGE_INSTALL", True) + " " + d.getVar("MULTILIB_PACKAGE_INSTALL", False) | ||
58 | d.setVar("MULTILIB_PACKAGE_INSTALL", pinstall) | ||
59 | d.setVar("PACKAGE_INSTALL", "") | ||
60 | # FIXME, we need to map this to something, not delete it! | ||
61 | d.setVar("PACKAGE_INSTALL_ATTEMPTONLY", "") | ||
62 | return | ||
63 | |||
51 | pkgs_mapping = [] | 64 | pkgs_mapping = [] |
52 | for pkg in (d.getVar("PACKAGES", True) or "").split(): | 65 | for pkg in (d.getVar("PACKAGES", True) or "").split(): |
53 | if pkg.startswith(variant): | 66 | if pkg.startswith(variant): |