[oe] [PATCH 1/2] recipes: fix LICENSE fields

Denys Dmytriyenko denis at denix.org
Thu May 12 16:39:19 UTC 2011


On Tue, May 10, 2011 at 11:36:16AM +0200, Martin Jansa wrote:
> On Tue, May 10, 2011 at 10:28:15AM +0100, Phil Blundell wrote:
> > On Tue, 2011-05-10 at 09:39 +0200, Martin Jansa wrote:
> > >   | /OE/tmpdir-shr/work/armv4t-oe-linux-gnueabi/pixman-0.22.0-r5.0/temp/run.SRC_DISTRIBUTECOMMAND.17340: line 95: /pixman: No such file or directory
> > 
> > If '&' in ${LICENSE} is breaking SRC_DISTRIBUTECOMMAND then that
> > suggests there is a bug in that code (probably some sort of missing
> > quotes).  Removing the &s might be a fine thing to do anyway, but it
> > would also be a good idea to track down and fix the underlying bug.
> 
> it calls cd tmp/deploy/sources/$license/pixman
> where with $license == '&' (because LICENSE field is splitted by ' ' and
> then '|'), it ends doing cd on background and then complaing about /pixman
> 
> Directory named & even when created with right backslash
> is still hard to use, so I think it would be better to have QA check 
> that LICENSE field has sane value, even better when we have list of
> possible values etc.

I would agree with Phil that fixing distribute_sources is required, but I'd go 
even further as to say that the current implementation of distribute_sources 
is quite bad. It splits the LICENSE field into tokens based on the wrong 
assumptions that all the whitespaces are used to separate multiple licenses. 
In other words, "Public Domain" is a valid license and shouldn't be replaced 
with "PD". What are you going to do with "GPLv2+ w/ GCC RLE"? Which stands for 
"GPL version 2 (or later) with GCC Runtime Library Exception" and is a valid 
license with an exception... Sorry, but "GPL+libraryexception" is just bogus 
(and it's not a personal remark - I do understand your constrains, see below).

I understand that distribute_sources is quite important and useful. So, maybe 
the correct way is to adopt a proper and stricter syntax for the LICENSE 
field, which uses some other characters to separate multiple licenses. Say, 
something like ":" or "|" should work. Using "," would be even better, but I'm 
afraid it can easily be used inside the license name on its own... Basically, 
something along the lines of "GPL:MIT:Public Domain:Texas A&M Proprietary" etc.

Any comments or objections?

-- 
Denys




More information about the Openembedded-devel mailing list