]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
packages.bbclass: Correct the check for conflicts with renamed packages
authorPeter Kjellerstedt <peter.kjellerstedt@axis.com>
Tue, 3 Oct 2023 17:44:54 +0000 (19:44 +0200)
committerSteve Sakoman <steve@sakoman.com>
Thu, 19 Oct 2023 14:34:38 +0000 (04:34 -1000)
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>
(cherry picked from commit de62d538dbfe6caf123ff366643f893077175583)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
meta/classes-global/package.bbclass

index e8055a9cdc5fc2dc1261c1ca845474ef16e53646..08eb56dc3dfc96f121b549aabee942bfa904ab51 100644 (file)
@@ -499,11 +499,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