[OE-core] classes/insane: add check for PN in OVERRIDES

Mikhail Durnev Mikhail_Durnev at mentor.com
Tue Aug 27 06:36:03 UTC 2013


Hello Paul,

I have a question about your commit c331f0a:

-------------------------------------------
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 4d2392e..fb18022 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':
----------------------------------------------

A recipe (lets say linux_git.bb) has its PN in OVERRIDES with prefix 
'pn-' (pn-linux). So, if we have 'linux' in OVERRIDES then it cannot 
interfere. Should we search for pn-${PN} instead? E.g.:

     overrides = d.getVar('OVERRIDES', True).split(':')
     pn = d.getVar('PN', True)
     if ("pn-%s" % 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))

Thanks,
Mikhail



More information about the Openembedded-core mailing list