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 | |
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')
-rw-r--r-- | meta/classes/crosssdk.bbclass | 1 | ||||
-rw-r--r-- | meta/classes/multilib.bbclass | 13 | ||||
-rw-r--r-- | meta/classes/nativesdk.bbclass | 1 |
3 files changed, 15 insertions, 0 deletions
diff --git a/meta/classes/crosssdk.bbclass b/meta/classes/crosssdk.bbclass index 5cfa43b3de..83753b4f79 100644 --- a/meta/classes/crosssdk.bbclass +++ b/meta/classes/crosssdk.bbclass | |||
@@ -18,6 +18,7 @@ target_includedir = "${SDKPATHNATIVE}${includedir_nativesdk}" | |||
18 | target_base_libdir = "${SDKPATHNATIVE}${base_libdir_nativesdk}" | 18 | target_base_libdir = "${SDKPATHNATIVE}${base_libdir_nativesdk}" |
19 | target_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}" | 19 | target_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}" |
20 | target_exec_prefix = "${SDKPATHNATIVE}${exec_prefix_nativesdk}" | 20 | target_exec_prefix = "${SDKPATHNATIVE}${exec_prefix_nativesdk}" |
21 | baselib = "lib" | ||
21 | 22 | ||
22 | do_populate_sysroot[stamp-extra-info] = "" | 23 | do_populate_sysroot[stamp-extra-info] = "" |
23 | do_package[stamp-extra-info] = "" | 24 | do_package[stamp-extra-info] = "" |
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): |
diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass index a495555b35..bb59ac57a6 100644 --- a/meta/classes/nativesdk.bbclass +++ b/meta/classes/nativesdk.bbclass | |||
@@ -48,6 +48,7 @@ LDFLAGS = "${BUILDSDK_LDFLAGS}" | |||
48 | base_prefix = "${SDKPATHNATIVE}" | 48 | base_prefix = "${SDKPATHNATIVE}" |
49 | prefix = "${SDKPATHNATIVE}${prefix_nativesdk}" | 49 | prefix = "${SDKPATHNATIVE}${prefix_nativesdk}" |
50 | exec_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}" | 50 | exec_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}" |
51 | baselib = "lib" | ||
51 | 52 | ||
52 | FILES_${PN} += "${prefix}" | 53 | FILES_${PN} += "${prefix}" |
53 | FILES_${PN}-dbg += "${prefix}/.debug \ | 54 | FILES_${PN}-dbg += "${prefix}/.debug \ |