Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH] packagedata: Add warnings if multiple recipes try to write the same package
@ 2013-01-21 22:49 Richard Purdie
  2013-01-22 12:08 ` Martin Jansa
  0 siblings, 1 reply; 2+ messages in thread
From: Richard Purdie @ 2013-01-21 22:49 UTC (permalink / raw)
  To: openembedded-core

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@linuxfoundation.org>
---
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])
 }





^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] packagedata: Add warnings if multiple recipes try to write the same package
  2013-01-21 22:49 [PATCH] packagedata: Add warnings if multiple recipes try to write the same package Richard Purdie
@ 2013-01-22 12:08 ` Martin Jansa
  0 siblings, 0 replies; 2+ messages in thread
From: Martin Jansa @ 2013-01-22 12:08 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 2115 bytes --]

On Mon, Jan 21, 2013 at 10:49:50PM +0000, Richard Purdie wrote:
> 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.

bitbake world found 2 more recipes creating the same package:
vim/gvim in meta-oe
gnome-panel3_3.0.2.bb/gnome-panel_2.32.1.b in meta-gnome

But this error is a lot better then that traceback, maybe change commit
message to say fatal errors instead of warnings.

Acked-by: Martin Jansa <Martin.Jansa@gmail.com>

Cheers,

> 
> [YOCTO #3645]
> 
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
> 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])
>  }
> 
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-01-22 12:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-21 22:49 [PATCH] packagedata: Add warnings if multiple recipes try to write the same package Richard Purdie
2013-01-22 12:08 ` Martin Jansa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox