[oe-commits] Richard Purdie : packagedata: Add error message if multiple recipes try to write the same package

git at git.openembedded.org git at git.openembedded.org
Wed Jan 23 16:22:28 UTC 2013


Module: openembedded-core.git
Branch: master-next
Commit: 946525b13ea72d20fcfb39585cab13dbffa8968c
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=946525b13ea72d20fcfb39585cab13dbffa8968c

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Mon Jan 21 22:49:50 2013 +0000

packagedata: Add error message if multiple recipes try to write the same package

If multiple recipes try and write the same package it resulted in a
rather confusing traceback and unintuitive error. This patch
prints a human readable error instead.

[YOCTO #3645]

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/classes/packagedata.bbclass |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/meta/classes/packagedata.bbclass b/meta/classes/packagedata.bbclass
index 790d874..120cd64 100644
--- a/meta/classes/packagedata.bbclass
+++ b/meta/classes/packagedata.bbclass
@@ -1,7 +1,8 @@
 python read_subpackage_metadata () {
     import oe.packagedata
 
-    data = oe.packagedata.read_pkgdata(d.getVar('PN', True), d)
+    pn = d.getVar('PN', True)
+    data = oe.packagedata.read_pkgdata(pn, d)
 
     for key in data.keys():
         d.setVar(key, data[key])
@@ -9,5 +10,9 @@ python read_subpackage_metadata () {
     for pkg in d.getVar('PACKAGES', True).split():
         sdata = oe.packagedata.read_subpkgdata(pkg, d)
         for key in sdata.keys():
+            if key == "PN":
+                if sdata[key] != pn:
+                    bb.fatal("Recipe %s is trying to create package %s which was already written by recipe %s. This will cause corruption, please resolve this and only provide the package from one recipe or the other or only build one of the recipes." % (pn, pkg, sdata[key]))
+                continue
             d.setVar(key, sdata[key])
 }





More information about the Openembedded-commits mailing list