From 2b0c041e2cad5369f7ea2d5b97422958a2b6083d Mon Sep 17 00:00:00 2001 From: Peter Kjellerstedt Date: Tue, 3 Oct 2023 19:44:54 +0200 Subject: 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: 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). (From OE-Core rev: 3fc3e55933716ce9cfa8b2e8e4cc8fa2e94a0061) Signed-off-by: Peter Kjellerstedt Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie (cherry picked from commit de62d538dbfe6caf123ff366643f893077175583) Signed-off-by: Steve Sakoman --- meta/classes-global/package.bbclass | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/meta/classes-global/package.bbclass b/meta/classes-global/package.bbclass index e8055a9cdc..08eb56dc3d 100644 --- a/meta/classes-global/package.bbclass +++ b/meta/classes-global/package.bbclass @@ -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 -- cgit v1.2.3-54-g00ecf