[OE-core] [PATCH] license.bbclass: do not process LICENSE_pn variables

Martin Jansa martin.jansa at gmail.com
Fri May 27 10:07:52 UTC 2016


On Fri, May 27, 2016 at 09:26:10AM +0300, Markus Lehtonen wrote:
> The loop iterating over LICENSE_pn variables has never worked. In
> addition, the LICENSE variable is supposed to contain all licenses
> defined in LICENSE_pn variables.

Is this really true?

I've seen couple examples where LICENSE variable is used as a "default"
for most packages, and then only 1 package sets different LICENSE_pn.

Changing the semantics as you said would force people to define
LICENSE_pn-dev
LICENSE_pn-staticdev
LICENSE_pn
LICENSE_pn-dbg
to foo when they have just one file in
LICENSE_pn-blah
which containd unwanted LICENSE bar

And then overall license will be "foo & bar"

There are real-world examples where there is one GPLv3 shell script we
don't even need in LGPLv2 component - for now it was simple to move this
script to separate package and set just LICENSE_pn-blah-script

> Thus, it is simpler just to use LICENSE
> as the data we get is essentially the same.
> 
> [YOCTO #9499]
> 
> Signed-off-by: Markus Lehtonen <markus.lehtonen at linux.intel.com>
> ---
>  meta/classes/license.bbclass | 16 +---------------
>  1 file changed, 1 insertion(+), 15 deletions(-)
> 
> diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
> index 69335d6..eacf9e8 100644
> --- a/meta/classes/license.bbclass
> +++ b/meta/classes/license.bbclass
> @@ -376,20 +376,6 @@ def find_license_files(d):
>      import shutil
>      import oe.license
>  
> -    pn = d.getVar('PN', True)
> -    for package in d.getVar('PACKAGES', True):
> -        if d.getVar('LICENSE_' + package, True):
> -            license_types = license_types + ' & ' + \
> -                            d.getVar('LICENSE_' + package, True)
> -
> -    #If we get here with no license types, then that means we have a recipe 
> -    #level license. If so, we grab only those.
> -    try:
> -        license_types
> -    except NameError:        
> -        # All the license types at the recipe level
> -        license_types = d.getVar('LICENSE', True)
> - 
>      # All the license files for the package
>      lic_files = d.getVar('LIC_FILES_CHKSUM', True)
>      pn = d.getVar('PN', True)
> @@ -487,7 +473,7 @@ def find_license_files(d):
>  
>      v = FindVisitor()
>      try:
> -        v.visit_string(license_types)
> +        v.visit_string(d.getVar('LICENSE', True))
>      except oe.license.InvalidLicense as exc:
>          bb.fatal('%s: %s' % (d.getVar('PF', True), exc))
>      except SyntaxError:
> -- 
> 2.6.6
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160527/cf8647d2/attachment-0002.sig>


More information about the Openembedded-core mailing list