diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-04-15 16:25:12 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-05-27 10:47:05 +0100 |
commit | edbf8d3999126e3c271a47dada54d1724f59f573 (patch) | |
tree | 98f7ca63aba6fa135555406454a7d4fcb78f4159 /meta | |
parent | 706b623c12f4576805e999ece91acf89ea22e5ef (diff) | |
download | poky-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')
-rw-r--r-- | meta/classes/base.bbclass | 3 | ||||
-rw-r--r-- | meta/classes/fontcache.bbclass | 2 | ||||
-rw-r--r-- | meta/classes/multilib.bbclass | 28 | ||||
-rw-r--r-- | meta/lib/oe/classextend.py | 35 | ||||
-rw-r--r-- | meta/recipes-core/glibc/glibc-package.inc | 2 | ||||
-rw-r--r-- | meta/recipes-core/packagegroups/packagegroup-base.bb | 8 | ||||
-rw-r--r-- | meta/recipes-core/psplash/psplash_git.bb | 5 | ||||
-rw-r--r-- | meta/recipes-devtools/perl/perl_5.30.2.bb | 2 | ||||
-rw-r--r-- | meta/recipes-devtools/python/python3_3.8.2.bb | 14 | ||||
-rw-r--r-- | meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb | 10 | ||||
-rw-r--r-- | meta/recipes-graphics/mesa/mesa.inc | 10 | ||||
-rw-r--r-- | meta/recipes-multimedia/alsa/alsa-plugins_1.2.1.bb | 6 | ||||
-rw-r--r-- | meta/recipes-support/boost/boost.inc | 10 |
13 files changed, 95 insertions, 40 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 7aa2e144eb..4c681cc870 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass | |||
@@ -570,8 +570,7 @@ python () { | |||
570 | if unskipped_pkgs: | 570 | if unskipped_pkgs: |
571 | for pkg in skipped_pkgs: | 571 | for pkg in skipped_pkgs: |
572 | bb.debug(1, "Skipping the package %s at do_rootfs because of incompatible license(s): %s" % (pkg, ' '.join(skipped_pkgs[pkg]))) | 572 | bb.debug(1, "Skipping the package %s at do_rootfs because of incompatible license(s): %s" % (pkg, ' '.join(skipped_pkgs[pkg]))) |
573 | mlprefix = d.getVar('MLPREFIX') | 573 | d.setVar('LICENSE_EXCLUSION-' + pkg, ' '.join(skipped_pkgs[pkg])) |
574 | d.setVar('LICENSE_EXCLUSION-' + mlprefix + pkg, ' '.join(skipped_pkgs[pkg])) | ||
575 | for pkg in unskipped_pkgs: | 574 | for pkg in unskipped_pkgs: |
576 | bb.debug(1, "Including the package %s" % pkg) | 575 | bb.debug(1, "Including the package %s" % pkg) |
577 | else: | 576 | else: |
diff --git a/meta/classes/fontcache.bbclass b/meta/classes/fontcache.bbclass index 97e7f17f00..624a420a0d 100644 --- a/meta/classes/fontcache.bbclass +++ b/meta/classes/fontcache.bbclass | |||
@@ -7,7 +7,7 @@ PACKAGE_WRITE_DEPS += "qemu-native" | |||
7 | inherit qemu | 7 | inherit qemu |
8 | 8 | ||
9 | FONT_PACKAGES ??= "${PN}" | 9 | FONT_PACKAGES ??= "${PN}" |
10 | FONT_EXTRA_RDEPENDS ?= "fontconfig-utils" | 10 | FONT_EXTRA_RDEPENDS ?= "${MLPREFIX}fontconfig-utils" |
11 | FONTCONFIG_CACHE_DIR ?= "${localstatedir}/cache/fontconfig" | 11 | FONTCONFIG_CACHE_DIR ?= "${localstatedir}/cache/fontconfig" |
12 | FONTCONFIG_CACHE_PARAMS ?= "-v" | 12 | FONTCONFIG_CACHE_PARAMS ?= "-v" |
13 | # You can change this to e.g. FC_DEBUG=16 to debug fc-cache issues, | 13 | # You can change this to e.g. FC_DEBUG=16 to debug fc-cache issues, |
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass index ee677da1e2..9f726e4537 100644 --- a/meta/classes/multilib.bbclass +++ b/meta/classes/multilib.bbclass | |||
@@ -91,13 +91,12 @@ addhandler multilib_virtclass_handler | |||
91 | multilib_virtclass_handler[eventmask] = "bb.event.RecipePreFinalise" | 91 | multilib_virtclass_handler[eventmask] = "bb.event.RecipePreFinalise" |
92 | 92 | ||
93 | python __anonymous () { | 93 | python __anonymous () { |
94 | variant = d.getVar("BBEXTENDVARIANT") | 94 | if bb.data.inherits_class('image', d): |
95 | 95 | variant = d.getVar("BBEXTENDVARIANT") | |
96 | import oe.classextend | 96 | import oe.classextend |
97 | 97 | ||
98 | clsextend = oe.classextend.ClassExtender(variant, d) | 98 | clsextend = oe.classextend.ClassExtender(variant, d) |
99 | 99 | ||
100 | if bb.data.inherits_class('image', d): | ||
101 | clsextend.map_depends_variable("PACKAGE_INSTALL") | 100 | clsextend.map_depends_variable("PACKAGE_INSTALL") |
102 | clsextend.map_depends_variable("LINGUAS_INSTALL") | 101 | clsextend.map_depends_variable("LINGUAS_INSTALL") |
103 | clsextend.map_depends_variable("RDEPENDS") | 102 | clsextend.map_depends_variable("RDEPENDS") |
@@ -109,6 +108,22 @@ python __anonymous () { | |||
109 | bb.build.deltask('do_populate_sdk', d) | 108 | bb.build.deltask('do_populate_sdk', d) |
110 | bb.build.deltask('do_populate_sdk_ext', d) | 109 | bb.build.deltask('do_populate_sdk_ext', d) |
111 | return | 110 | return |
111 | } | ||
112 | |||
113 | python multilib_virtclass_handler_postkeyexp () { | ||
114 | cls = d.getVar("BBEXTENDCURR") | ||
115 | variant = d.getVar("BBEXTENDVARIANT") | ||
116 | if cls != "multilib" or not variant: | ||
117 | return | ||
118 | |||
119 | variant = d.getVar("BBEXTENDVARIANT") | ||
120 | |||
121 | import oe.classextend | ||
122 | |||
123 | clsextend = oe.classextend.ClassExtender(variant, d) | ||
124 | |||
125 | if bb.data.inherits_class('image', d): | ||
126 | return | ||
112 | 127 | ||
113 | clsextend.map_depends_variable("DEPENDS") | 128 | clsextend.map_depends_variable("DEPENDS") |
114 | clsextend.map_variable("PROVIDES") | 129 | clsextend.map_variable("PROVIDES") |
@@ -129,6 +144,9 @@ python __anonymous () { | |||
129 | reset_alternative_priority(d) | 144 | reset_alternative_priority(d) |
130 | } | 145 | } |
131 | 146 | ||
147 | addhandler multilib_virtclass_handler_postkeyexp | ||
148 | multilib_virtclass_handler_postkeyexp[eventmask] = "bb.event.RecipePostKeyExpansion" | ||
149 | |||
132 | def reset_alternative_priority(d): | 150 | def reset_alternative_priority(d): |
133 | if not bb.data.inherits_class('update-alternatives', d): | 151 | if not bb.data.inherits_class('update-alternatives', d): |
134 | return | 152 | return |
diff --git a/meta/lib/oe/classextend.py b/meta/lib/oe/classextend.py index f02fbe9fba..e1049ce3e8 100644 --- a/meta/lib/oe/classextend.py +++ b/meta/lib/oe/classextend.py | |||
@@ -4,11 +4,21 @@ | |||
4 | 4 | ||
5 | import collections | 5 | import collections |
6 | 6 | ||
7 | def get_packages(d): | ||
8 | pkgs = d.getVar("PACKAGES_NONML") | ||
9 | extcls = d.getVar("EXTENDERCLASS") | ||
10 | return extcls.rename_packages_internal(pkgs) | ||
11 | |||
12 | def get_depends(varprefix, d): | ||
13 | extcls = d.getVar("EXTENDERCLASS") | ||
14 | return extcls.map_depends_variable(varprefix + "_NONML") | ||
15 | |||
7 | class ClassExtender(object): | 16 | class ClassExtender(object): |
8 | def __init__(self, extname, d): | 17 | def __init__(self, extname, d): |
9 | self.extname = extname | 18 | self.extname = extname |
10 | self.d = d | 19 | self.d = d |
11 | self.pkgs_mapping = [] | 20 | self.pkgs_mapping = [] |
21 | self.d.setVar("EXTENDERCLASS", self) | ||
12 | 22 | ||
13 | def extend_name(self, name): | 23 | def extend_name(self, name): |
14 | if name.startswith("kernel-") or name == "virtual/kernel": | 24 | if name.startswith("kernel-") or name == "virtual/kernel": |
@@ -24,7 +34,7 @@ class ClassExtender(object): | |||
24 | if not subs.startswith(self.extname): | 34 | if not subs.startswith(self.extname): |
25 | return "virtual/" + self.extname + "-" + subs | 35 | return "virtual/" + self.extname + "-" + subs |
26 | return name | 36 | return name |
27 | if name.startswith("/"): | 37 | if name.startswith("/") or (name.startswith("${") and name.endswith("}")): |
28 | return name | 38 | return name |
29 | if not name.startswith(self.extname): | 39 | if not name.startswith(self.extname): |
30 | return self.extname + "-" + name | 40 | return self.extname + "-" + name |
@@ -89,8 +99,14 @@ class ClassExtender(object): | |||
89 | for dep in deps: | 99 | for dep in deps: |
90 | newdeps[self.map_depends(dep)] = deps[dep] | 100 | newdeps[self.map_depends(dep)] = deps[dep] |
91 | 101 | ||
92 | self.d.setVar(varname, bb.utils.join_deps(newdeps, False).replace("EXTENDPKGV", "${EXTENDPKGV}")) | 102 | if not varname.endswith("_NONML"): |
103 | #if varname == "DEPENDS": | ||
104 | self.d.renameVar(varname, varname + "_NONML") | ||
105 | self.d.setVar(varname, "${@oe.classextend.get_depends('%s', d)}" % varname) | ||
106 | self.d.appendVarFlag(varname, "vardeps", " " + varname + "_NONML") | ||
107 | ret = bb.utils.join_deps(newdeps, False).replace("EXTENDPKGV", "${EXTENDPKGV}") | ||
93 | self.d.setVar("EXTENDPKGV", orig) | 108 | self.d.setVar("EXTENDPKGV", orig) |
109 | return ret | ||
94 | 110 | ||
95 | def map_packagevars(self): | 111 | def map_packagevars(self): |
96 | for pkg in (self.d.getVar("PACKAGES").split() + [""]): | 112 | for pkg in (self.d.getVar("PACKAGES").split() + [""]): |
@@ -109,10 +125,23 @@ class ClassExtender(object): | |||
109 | continue | 125 | continue |
110 | self.pkgs_mapping.append([pkg, self.extend_name(pkg)]) | 126 | self.pkgs_mapping.append([pkg, self.extend_name(pkg)]) |
111 | 127 | ||
112 | self.d.setVar("PACKAGES", " ".join([row[1] for row in self.pkgs_mapping])) | 128 | self.d.renameVar("PACKAGES", "PACKAGES_NONML") |
129 | self.d.setVar("PACKAGES", "${@oe.classextend.get_packages(d)}") | ||
130 | |||
131 | def rename_packages_internal(self, pkgs): | ||
132 | self.pkgs_mapping = [] | ||
133 | for pkg in (self.d.expand(pkgs) or "").split(): | ||
134 | if pkg.startswith(self.extname): | ||
135 | self.pkgs_mapping.append([pkg.split(self.extname + "-")[1], pkg]) | ||
136 | continue | ||
137 | self.pkgs_mapping.append([pkg, self.extend_name(pkg)]) | ||
138 | |||
139 | return " ".join([row[1] for row in self.pkgs_mapping]) | ||
113 | 140 | ||
114 | def rename_package_variables(self, variables): | 141 | def rename_package_variables(self, variables): |
115 | for pkg_mapping in self.pkgs_mapping: | 142 | for pkg_mapping in self.pkgs_mapping: |
143 | if pkg_mapping[0].startswith("${") and pkg_mapping[0].endswith("}"): | ||
144 | continue | ||
116 | for subs in variables: | 145 | for subs in variables: |
117 | self.d.renameVar("%s_%s" % (subs, pkg_mapping[0]), "%s_%s" % (subs, pkg_mapping[1])) | 146 | self.d.renameVar("%s_%s" % (subs, pkg_mapping[0]), "%s_%s" % (subs, pkg_mapping[1])) |
118 | 147 | ||
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', '', '', | |||
24 | INSANE_SKIP_${PN}_append_aarch64 = " libdir" | 24 | INSANE_SKIP_${PN}_append_aarch64 = " libdir" |
25 | 25 | ||
26 | FILES_${PN} = "${libc_baselibs} ${libexecdir}/*" | 26 | FILES_${PN} = "${libc_baselibs} ${libexecdir}/*" |
27 | RRECOMMENDS_${PN} = "${@bb.utils.filter('DISTRO_FEATURES', 'ldconfig', d)}" | 27 | RRECOMMENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPREFIX}ldconfig', '', d)}" |
28 | FILES_ldconfig = "${base_sbindir}/ldconfig ${sysconfdir}/ld.so.conf" | 28 | FILES_ldconfig = "${base_sbindir}/ldconfig ${sysconfdir}/ld.so.conf" |
29 | FILES_ldd = "${bindir}/ldd" | 29 | FILES_ldd = "${bindir}/ldd" |
30 | FILES_libsegfault = "${base_libdir}/libSegFault*" | 30 | FILES_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" | |||
22 | python __anonymous() { | 22 | python __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) |
diff --git a/meta/recipes-devtools/perl/perl_5.30.2.bb b/meta/recipes-devtools/perl/perl_5.30.2.bb index 778c420b2e..26138ea9e5 100644 --- a/meta/recipes-devtools/perl/perl_5.30.2.bb +++ b/meta/recipes-devtools/perl/perl_5.30.2.bb | |||
@@ -328,7 +328,7 @@ python split_perl_packages () { | |||
328 | 328 | ||
329 | python() { | 329 | python() { |
330 | if d.getVar('CLASSOVERRIDE') == "class-target": | 330 | if d.getVar('CLASSOVERRIDE') == "class-target": |
331 | d.setVar("PACKAGES_DYNAMIC", "^perl-module-.*(?<!native)$") | 331 | d.setVar("PACKAGES_DYNAMIC", "^${MLPREFIX}perl-module-.*(?<!native)$") |
332 | elif d.getVar('CLASSOVERRIDE') == "class-native": | 332 | elif d.getVar('CLASSOVERRIDE') == "class-native": |
333 | d.setVar("PACKAGES_DYNAMIC", "^perl-module-.*-native$") | 333 | d.setVar("PACKAGES_DYNAMIC", "^perl-module-.*-native$") |
334 | elif d.getVar('CLASSOVERRIDE') == "class-nativesdk": | 334 | elif d.getVar('CLASSOVERRIDE') == "class-nativesdk": |
diff --git a/meta/recipes-devtools/python/python3_3.8.2.bb b/meta/recipes-devtools/python/python3_3.8.2.bb index a4a16fd495..0474f07214 100644 --- a/meta/recipes-devtools/python/python3_3.8.2.bb +++ b/meta/recipes-devtools/python/python3_3.8.2.bb | |||
@@ -311,8 +311,8 @@ do_create_manifest[depends] += "${PN}:do_patch" | |||
311 | 311 | ||
312 | # manual dependency additions | 312 | # manual dependency additions |
313 | RRECOMMENDS_${PN}-core_append_class-nativesdk = " nativesdk-python3-modules" | 313 | RRECOMMENDS_${PN}-core_append_class-nativesdk = " nativesdk-python3-modules" |
314 | RRECOMMENDS_${PN}-crypt_append_class-target = " openssl ca-certificates" | 314 | RRECOMMENDS_${PN}-crypt_append_class-target = " ${MLPREFIX}openssl ${MLPREFIX}ca-certificates" |
315 | RRECOMMENDS_${PN}-crypt_append_class-nativesdk = " openssl ca-certificates" | 315 | RRECOMMENDS_${PN}-crypt_append_class-nativesdk = " ${MLPREFIX}openssl ${MLPREFIX}ca-certificates" |
316 | 316 | ||
317 | # For historical reasons PN is empty and provided by python3-modules | 317 | # For historical reasons PN is empty and provided by python3-modules |
318 | FILES_${PN} = "" | 318 | FILES_${PN} = "" |
@@ -322,7 +322,7 @@ FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3" | |||
322 | FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}" | 322 | FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}" |
323 | 323 | ||
324 | # provide python-pyvenv from python3-venv | 324 | # provide python-pyvenv from python3-venv |
325 | RPROVIDES_${PN}-venv += "python3-pyvenv" | 325 | RPROVIDES_${PN}-venv += "${MLPREFIX}python3-pyvenv" |
326 | 326 | ||
327 | # package libpython3 | 327 | # package libpython3 |
328 | PACKAGES =+ "libpython3 libpython3-staticdev" | 328 | PACKAGES =+ "libpython3 libpython3-staticdev" |
@@ -333,8 +333,8 @@ INSANE_SKIP_${PN}-dev += "dev-elf" | |||
333 | # catch all the rest (unsorted) | 333 | # catch all the rest (unsorted) |
334 | PACKAGES += "${PN}-misc" | 334 | PACKAGES += "${PN}-misc" |
335 | RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs python3-pydoc python3-pickle python3-audio" | 335 | RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs python3-pydoc python3-pickle python3-audio" |
336 | RDEPENDS_${PN}-modules_append_class-target = " python3-misc" | 336 | RDEPENDS_${PN}-modules_append_class-target = " ${MLPREFIX}python3-misc" |
337 | RDEPENDS_${PN}-modules_append_class-nativesdk = " python3-misc" | 337 | RDEPENDS_${PN}-modules_append_class-nativesdk = " ${MLPREFIX}python3-misc" |
338 | FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload" | 338 | FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload" |
339 | 339 | ||
340 | # catch manpage | 340 | # catch manpage |
@@ -348,5 +348,5 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-tr-tr.iso-8859-9" | |||
348 | RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk tk-lib', '', d)}" | 348 | RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk tk-lib', '', d)}" |
349 | RDEPENDS_${PN}-dev = "" | 349 | RDEPENDS_${PN}-dev = "" |
350 | 350 | ||
351 | RDEPENDS_${PN}-tests_append_class-target = " bash" | 351 | RDEPENDS_${PN}-tests_append_class-target = " ${MLPREFIX}bash" |
352 | RDEPENDS_${PN}-tests_append_class-nativesdk = " bash" | 352 | RDEPENDS_${PN}-tests_append_class-nativesdk = " ${MLPREFIX}bash" |
diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb b/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb index 15a8e6dedc..16c2f9f2aa 100644 --- a/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb +++ b/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb | |||
@@ -32,21 +32,23 @@ python __anonymous () { | |||
32 | namemap["packagegroup-core-full-cmdline-sys-services"] = "packagegroup-core-sys-services" | 32 | namemap["packagegroup-core-full-cmdline-sys-services"] = "packagegroup-core-sys-services" |
33 | 33 | ||
34 | packages = d.getVar("PACKAGES").split() | 34 | packages = d.getVar("PACKAGES").split() |
35 | mlprefix = d.getVar("MLPREFIX") | ||
35 | for pkg in packages: | 36 | for pkg in packages: |
37 | pkg2 = pkg[len(mlprefix):] | ||
36 | if pkg.endswith('-dev'): | 38 | if pkg.endswith('-dev'): |
37 | mapped = namemap.get(pkg[:-4], None) | 39 | mapped = namemap.get(pkg2[:-4], None) |
38 | if mapped: | 40 | if mapped: |
39 | mapped += '-dev' | 41 | mapped += '-dev' |
40 | elif pkg.endswith('-dbg'): | 42 | elif pkg.endswith('-dbg'): |
41 | mapped = namemap.get(pkg[:-4], None) | 43 | mapped = namemap.get(pkg2[:-4], None) |
42 | if mapped: | 44 | if mapped: |
43 | mapped += '-dbg' | 45 | mapped += '-dbg' |
44 | else: | 46 | else: |
45 | mapped = namemap.get(pkg, None) | 47 | mapped = namemap.get(pkg2, None) |
46 | 48 | ||
47 | if mapped: | 49 | if mapped: |
48 | oldtaskname = mapped.replace("packagegroup-core", "task-core") | 50 | oldtaskname = mapped.replace("packagegroup-core", "task-core") |
49 | mapstr = " %s %s" % (mapped, oldtaskname) | 51 | mapstr = " %s%s %s%s" % (mlprefix, mapped, mlprefix, oldtaskname) |
50 | d.appendVar("RPROVIDES_%s" % pkg, mapstr) | 52 | d.appendVar("RPROVIDES_%s" % pkg, mapstr) |
51 | d.appendVar("RREPLACES_%s" % pkg, mapstr) | 53 | d.appendVar("RREPLACES_%s" % pkg, mapstr) |
52 | d.appendVar("RCONFLICTS_%s" % pkg, mapstr) | 54 | d.appendVar("RCONFLICTS_%s" % pkg, mapstr) |
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index fede691d6f..bb43a9a8b6 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc | |||
@@ -212,18 +212,20 @@ python __anonymous() { | |||
212 | ("gles", "libgles3",)): | 212 | ("gles", "libgles3",)): |
213 | if not p[0] in pkgconfig: | 213 | if not p[0] in pkgconfig: |
214 | continue | 214 | continue |
215 | fullp = p[1] + "-mesa" | 215 | mlprefix = d.getVar("MLPREFIX") |
216 | pkgs = " ".join(p[1:]) | 216 | fullp = mlprefix + p[1] + "-mesa" |
217 | mlprefix = d.getVar("MLPREFIX") | ||
218 | pkgs = " ".join(mlprefix + x for x in p[1:]) | ||
217 | d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1") | 219 | d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1") |
218 | d.appendVar("RREPLACES_" + fullp, pkgs) | 220 | d.appendVar("RREPLACES_" + fullp, pkgs) |
219 | d.appendVar("RPROVIDES_" + fullp, pkgs) | 221 | d.appendVar("RPROVIDES_" + fullp, pkgs) |
220 | d.appendVar("RCONFLICTS_" + fullp, pkgs) | 222 | d.appendVar("RCONFLICTS_" + fullp, pkgs) |
221 | 223 | ||
222 | d.appendVar("RRECOMMENDS_" + fullp, " mesa-megadriver") | 224 | d.appendVar("RRECOMMENDS_" + fullp, " ${MLPREFIX}mesa-megadriver") |
223 | 225 | ||
224 | # For -dev, the first element is both the Debian and original name | 226 | # For -dev, the first element is both the Debian and original name |
225 | fullp += "-dev" | 227 | fullp += "-dev" |
226 | pkgs = p[1] + "-dev" | 228 | pkgs = mlprefix + p[1] + "-dev" |
227 | d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1") | 229 | d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1") |
228 | d.appendVar("RREPLACES_" + fullp, pkgs) | 230 | d.appendVar("RREPLACES_" + fullp, pkgs) |
229 | d.appendVar("RPROVIDES_" + fullp, pkgs) | 231 | d.appendVar("RPROVIDES_" + fullp, pkgs) |
diff --git a/meta/recipes-multimedia/alsa/alsa-plugins_1.2.1.bb b/meta/recipes-multimedia/alsa/alsa-plugins_1.2.1.bb index 9882e12763..d092b158f2 100644 --- a/meta/recipes-multimedia/alsa/alsa-plugins_1.2.1.bb +++ b/meta/recipes-multimedia/alsa/alsa-plugins_1.2.1.bb | |||
@@ -167,7 +167,7 @@ FILES_${PN}-pulseaudio-conf += "\ | |||
167 | " | 167 | " |
168 | 168 | ||
169 | RDEPENDS_${PN}-pulseaudio-conf += "\ | 169 | RDEPENDS_${PN}-pulseaudio-conf += "\ |
170 | libasound-module-conf-pulse \ | 170 | ${MLPREFIX}libasound-module-conf-pulse \ |
171 | libasound-module-ctl-pulse \ | 171 | ${MLPREFIX}libasound-module-ctl-pulse \ |
172 | libasound-module-pcm-pulse \ | 172 | ${MLPREFIX}libasound-module-pcm-pulse \ |
173 | " | 173 | " |
diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc index 8eb9494381..ca140d595f 100644 --- a/meta/recipes-support/boost/boost.inc +++ b/meta/recipes-support/boost/boost.inc | |||
@@ -62,12 +62,16 @@ PACKAGES = "${PN}-dbg ${BOOST_PACKAGES}" | |||
62 | python __anonymous () { | 62 | python __anonymous () { |
63 | packages = [] | 63 | packages = [] |
64 | extras = [] | 64 | extras = [] |
65 | mlprefix = d.getVar("MLPREFIX") | ||
65 | for lib in d.getVar('BOOST_LIBS').split(): | 66 | for lib in d.getVar('BOOST_LIBS').split(): |
66 | extras.append("--with-%s" % lib) | 67 | extras.append("--with-%s" % lib) |
67 | pkg = "boost-%s" % lib.replace("_", "-") | 68 | pkg = "boost-%s" % (lib.replace("_", "-")) |
68 | packages.append(pkg) | 69 | packages.append(mlprefix + pkg) |
69 | if not d.getVar("FILES_%s" % pkg): | 70 | if not d.getVar("FILES_%s" % pkg): |
70 | d.setVar("FILES_%s" % pkg, "${libdir}/libboost_%s*.so.*" % lib) | 71 | d.setVar("FILES_%s%s" % (mlprefix, pkg), "${libdir}/libboost_%s*.so.*" % lib) |
72 | else: | ||
73 | d.setVar("FILES_%s%s" % (mlprefix, pkg), d.getVar("FILES_%s" % pkg)) | ||
74 | |||
71 | d.setVar("BOOST_PACKAGES", " ".join(packages)) | 75 | d.setVar("BOOST_PACKAGES", " ".join(packages)) |
72 | d.setVar("BJAM_EXTRA", " ".join(extras)) | 76 | d.setVar("BJAM_EXTRA", " ".join(extras)) |
73 | } | 77 | } |