| Submitter | Richard Purdie |
|---|---|
| Date | Jan. 21, 2013, 10:49 p.m. |
| Message ID | <1358808590.14265.73.camel@ted> |
| Download | mbox | patch |
| Permalink | /patch/43105/ |
| State | Accepted |
| Commit | 6f817779af77fdb0b861297f0f43c4c6607ce6f0 |
| Headers | show |
Comments
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
Patch
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]) }
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> ---