summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Kjellerstedt <peter.kjellerstedt@axis.com>2023-10-03 19:44:54 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-10-06 11:50:54 +0100
commitde62d538dbfe6caf123ff366643f893077175583 (patch)
tree1ccac62451c9bb39f304ca5c8acec9019a88a238
parent0830f53900dd7fd669a7d6492325559ad3225302 (diff)
downloadopenembedded-core-contrib-de62d538dbfe6caf123ff366643f893077175583.tar.gz
packages.bbclass: Correct the check for conflicts with renamed packages
The original solution replaced all overrides with the package name that was being checked. This can have unforseen consequences where some variable involved in defining the value for the PKG:<package> variable may rely on some override which is not set as expected. It also meant that any PKG variable set using an override would not be caught, e.g., PKG:${PN}:${MACHINE} = "${PN}-dev" (made up example that would always fail with the old code). Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes-global/package.bbclass8
1 files changed, 3 insertions, 5 deletions
diff --git a/meta/classes-global/package.bbclass b/meta/classes-global/package.bbclass
index 0338a5c690..7787042e21 100644
--- a/meta/classes-global/package.bbclass
+++ b/meta/classes-global/package.bbclass
@@ -508,11 +508,9 @@ python do_package () {
# Check for conflict between renamed packages and existing ones
# for each package in PACKAGES, check if it will be renamed to an existing one
for p in packages:
- localdata = bb.data.createCopy(d)
- localdata.setVar('OVERRIDES', p)
- rename = localdata.getVar('PKG')
- if (rename != None) and rename in packages:
- bb.fatal('package "%s" is renamed to "%s" using PKG:%s, but package name already exists'%(p,rename,p))
+ rename = d.getVar('PKG:%s' % p)
+ if rename and rename in packages:
+ bb.fatal('package "%s" is renamed to "%s" using PKG:%s, but package name already exists' % (p, rename, p))
###########################################################################
# Optimisations