summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-09-22 22:15:58 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-09-22 22:23:37 +0100
commitea0b7440ec5a8663b66f56a19f0b38e803b523d3 (patch)
tree786fb8042d0935943e73629da4ae5e816c9a6f90
parentca64b2eb1f1fd3b298e9384752b2fd806f7e4a12 (diff)
downloadpoky-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>
-rw-r--r--meta/classes/crosssdk.bbclass1
-rw-r--r--meta/classes/multilib.bbclass13
-rw-r--r--meta/classes/nativesdk.bbclass1
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}"
18target_base_libdir = "${SDKPATHNATIVE}${base_libdir_nativesdk}" 18target_base_libdir = "${SDKPATHNATIVE}${base_libdir_nativesdk}"
19target_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}" 19target_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
20target_exec_prefix = "${SDKPATHNATIVE}${exec_prefix_nativesdk}" 20target_exec_prefix = "${SDKPATHNATIVE}${exec_prefix_nativesdk}"
21baselib = "lib"
21 22
22do_populate_sysroot[stamp-extra-info] = "" 23do_populate_sysroot[stamp-extra-info] = ""
23do_package[stamp-extra-info] = "" 24do_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}"
48base_prefix = "${SDKPATHNATIVE}" 48base_prefix = "${SDKPATHNATIVE}"
49prefix = "${SDKPATHNATIVE}${prefix_nativesdk}" 49prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
50exec_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}" 50exec_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
51baselib = "lib"
51 52
52FILES_${PN} += "${prefix}" 53FILES_${PN} += "${prefix}"
53FILES_${PN}-dbg += "${prefix}/.debug \ 54FILES_${PN}-dbg += "${prefix}/.debug \