summaryrefslogtreecommitdiff
path: root/meta
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2013-05-09 17:26:17 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-05-10 11:35:20 +0100
commitc331f0a5cac765174a1b5de5c12aec7e965d4158 (patch)
tree12206a08f718a12d4d2dea946179bcc304b23280 /meta
parented6bb6e3db518082d3a9c45d548bc1339be2c5ca (diff)
downloadopenembedded-core-c331f0a5cac765174a1b5de5c12aec7e965d4158.tar.gz
openembedded-core-c331f0a5cac765174a1b5de5c12aec7e965d4158.tar.bz2
openembedded-core-c331f0a5cac765174a1b5de5c12aec7e965d4158.zip
classes/insane: add check for PN in OVERRIDES
If a recipe is named such that its PN value matches something already in OVERRIDES (such as when PN happens to be the same as MACHINE or DISTRO), it can have unexpected consequences. Assignments such as FILES_${PN} = "xyz" effectively turn into FILES = "xyz". Implements [YOCTO #4288]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/insane.bbclass5
1 files changed, 5 insertions, 0 deletions
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 4d2392e908..fb1802223a 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -907,6 +907,11 @@ python () {
if d.getVar('do_stage', True) is not None:
bb.fatal("Legacy staging found for %s as it has a do_stage function. This will need conversion to a do_install or often simply removal to work with OE-core" % d.getVar("FILE", True))
+ overrides = d.getVar('OVERRIDES', True).split(':')
+ pn = d.getVar('PN', True)
+ if pn in overrides:
+ bb.warn('Recipe %s has PN of "%s" which is in OVERRIDES, this can result in unexpected behaviour.' % (d.getVar("FILE", True), pn))
+
issues = []
if (d.getVar('PACKAGES', True) or "").split():
for var in 'RDEPENDS', 'RRECOMMENDS', 'RSUGGESTS', 'RCONFLICTS', 'RPROVIDES', 'RREPLACES', 'FILES', 'pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm', 'ALLOW_EMPTY':