summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2020-04-15 16:25:12 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-05-27 10:47:05 +0100
commitedbf8d3999126e3c271a47dada54d1724f59f573 (patch)
tree98f7ca63aba6fa135555406454a7d4fcb78f4159 /meta/recipes-core
parent706b623c12f4576805e999ece91acf89ea22e5ef (diff)
downloadpoky-edbf8d3999126e3c271a47dada54d1724f59f573.tar.gz
multilib/recipes: Use new RecipePostKeyExpansion event
There are issues with multilib due to the ordering of events where some functions see the remapped multilib dependencies and some do not. A significant problem is that the multilib class needs to make some changes before key expansion and some afterwards but by using existing event handlers, some code sees things in a partially translated state, leading to bugs. This patch changes things to use a new event handler from bitbake which makes the ordering of the changes explcit. The challenge in doing this is that it breaks some existing anonymous python and dyanmic assignments. In some cases these used to be translated and no longer are, meaning MLPREFIX has to be added. In some cases these are now translated and the MLPREFIX can be removed. This change does now make it very clear when MLPREFIX is required and when it is not, its just the migration path which is harder. The patch changes the small number of cases where fixes are needed. In particular, where a variable like RDEPENDS is conditionally extended (e.g. with an override), MLPREFIX is now required. This patch also reverts: base: Revert 'base.bbclass: considering multilib when setting LICENSE_EXCLUSION' This reverts 6597130256a1609c3e05ec5891aceaf549c37985 as the changes to multilib datastore handling mean its no longer necessary. (From OE-Core rev: b3fda056a674889cd9697e779de023d4f993d3ce) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core')
-rw-r--r--meta/recipes-core/glibc/glibc-package.inc2
-rw-r--r--meta/recipes-core/packagegroups/packagegroup-base.bb8
-rw-r--r--meta/recipes-core/psplash/psplash_git.bb5
3 files changed, 8 insertions, 7 deletions
diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc
index aa8e059216..ff25fd4187 100644
--- a/meta/recipes-core/glibc/glibc-package.inc
+++ b/meta/recipes-core/glibc/glibc-package.inc
@@ -24,7 +24,7 @@ libc_baselibs_append = " ${@oe.utils.conditional('ARCH_DYNAMIC_LOADER', '', '',
24INSANE_SKIP_${PN}_append_aarch64 = " libdir" 24INSANE_SKIP_${PN}_append_aarch64 = " libdir"
25 25
26FILES_${PN} = "${libc_baselibs} ${libexecdir}/*" 26FILES_${PN} = "${libc_baselibs} ${libexecdir}/*"
27RRECOMMENDS_${PN} = "${@bb.utils.filter('DISTRO_FEATURES', 'ldconfig', d)}" 27RRECOMMENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPREFIX}ldconfig', '', d)}"
28FILES_ldconfig = "${base_sbindir}/ldconfig ${sysconfdir}/ld.so.conf" 28FILES_ldconfig = "${base_sbindir}/ldconfig ${sysconfdir}/ld.so.conf"
29FILES_ldd = "${bindir}/ldd" 29FILES_ldd = "${bindir}/ldd"
30FILES_libsegfault = "${base_libdir}/libSegFault*" 30FILES_libsegfault = "${base_libdir}/libSegFault*"
diff --git a/meta/recipes-core/packagegroups/packagegroup-base.bb b/meta/recipes-core/packagegroups/packagegroup-base.bb
index 1f802da09b..90b79adfdc 100644
--- a/meta/recipes-core/packagegroups/packagegroup-base.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-base.bb
@@ -110,16 +110,16 @@ python __anonymous () {
110 machine_features= set(d.getVar("MACHINE_FEATURES").split()) 110 machine_features= set(d.getVar("MACHINE_FEATURES").split())
111 111
112 if "bluetooth" in distro_features and not "bluetooth" in machine_features and ("pcmcia" in machine_features or "pci" in machine_features or "usbhost" in machine_features): 112 if "bluetooth" in distro_features and not "bluetooth" in machine_features and ("pcmcia" in machine_features or "pci" in machine_features or "usbhost" in machine_features):
113 d.setVar("ADD_BT", "packagegroup-base-bluetooth") 113 d.setVar("ADD_BT", "${MLPREFIX}packagegroup-base-bluetooth")
114 114
115 if "wifi" in distro_features and not "wifi" in machine_features and ("pcmcia" in machine_features or "pci" in machine_features or "usbhost" in machine_features): 115 if "wifi" in distro_features and not "wifi" in machine_features and ("pcmcia" in machine_features or "pci" in machine_features or "usbhost" in machine_features):
116 d.setVar("ADD_WIFI", "packagegroup-base-wifi") 116 d.setVar("ADD_WIFI", "${MLPREFIX}packagegroup-base-wifi")
117 117
118 if "3g" in distro_features and not "3g" in machine_features and ("pcmcia" in machine_features or "pci" in machine_features or "usbhost" in machine_features): 118 if "3g" in distro_features and not "3g" in machine_features and ("pcmcia" in machine_features or "pci" in machine_features or "usbhost" in machine_features):
119 d.setVar("ADD_3G", "packagegroup-base-3g") 119 d.setVar("ADD_3G", "${MLPREFIX}packagegroup-base-3g")
120 120
121 if "nfc" in distro_features and not "nfc" in machine_features and ("usbhost" in machine_features): 121 if "nfc" in distro_features and not "nfc" in machine_features and ("usbhost" in machine_features):
122 d.setVar("ADD_NFC", "packagegroup-base-nfc") 122 d.setVar("ADD_NFC", "${MLPREFIX}packagegroup-base-nfc")
123} 123}
124 124
125# 125#
diff --git a/meta/recipes-core/psplash/psplash_git.bb b/meta/recipes-core/psplash/psplash_git.bb
index 22c71f099b..44f0007daf 100644
--- a/meta/recipes-core/psplash/psplash_git.bb
+++ b/meta/recipes-core/psplash/psplash_git.bb
@@ -22,6 +22,7 @@ SPLASH_IMAGES = "file://psplash-poky-img.h;outsuffix=default"
22python __anonymous() { 22python __anonymous() {
23 oldpkgs = d.getVar("PACKAGES").split() 23 oldpkgs = d.getVar("PACKAGES").split()
24 splashfiles = d.getVar('SPLASH_IMAGES').split() 24 splashfiles = d.getVar('SPLASH_IMAGES').split()
25 mlprefix = d.getVar('MLPREFIX') or ''
25 pkgs = [] 26 pkgs = []
26 localpaths = [] 27 localpaths = []
27 for uri in splashfiles: 28 for uri in splashfiles:
@@ -46,9 +47,9 @@ python __anonymous() {
46 # Set these so that we have less work to do in do_compile and do_install_append 47 # Set these so that we have less work to do in do_compile and do_install_append
47 d.setVar("SPLASH_INSTALL", " ".join(pkgs)) 48 d.setVar("SPLASH_INSTALL", " ".join(pkgs))
48 d.setVar("SPLASH_LOCALPATHS", " ".join(localpaths)) 49 d.setVar("SPLASH_LOCALPATHS", " ".join(localpaths))
50 for p in pkgs:
51 d.prependVar("PACKAGES", "%s%s " % (mlprefix, p))
49 52
50 d.prependVar("PACKAGES", "%s " % (" ".join(pkgs)))
51 mlprefix = d.getVar('MLPREFIX') or ''
52 pn = d.getVar('PN') or '' 53 pn = d.getVar('PN') or ''
53 for p in pkgs: 54 for p in pkgs:
54 ep = '%s%s' % (mlprefix, p) 55 ep = '%s%s' % (mlprefix, p)