All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Lehtonen <markus.lehtonen@linux.intel.com>
To: Martin Jansa <martin.jansa@gmail.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] license.bbclass: do not process LICENSE_pn variables
Date: Mon, 30 May 2016 14:26:30 +0300	[thread overview]
Message-ID: <1464607590.941.22.camel@linux.intel.com> (raw)
In-Reply-To: <20160527100752.GA2570@jama>

Hi Martin,

On Fri, 2016-05-27 at 12:07 +0200, Martin Jansa wrote:
> 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?

That's what I've been told: LICENSE is supposed to contain all licenses
and LICENSE_pn can be used to refine on per-package basis. But, that
said, I don't know if that has actually been documented anywhere except
perhaps in the bitbake manual which states that LICENSE is "The list of
source licenses for the recipe".



> 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

Do you have any specific examples of packages like this? My current
understanding is that they use LICENSE and LICENSE_pn incorrectly, but
I might well be wrong. Also, I don't know if all the license checking
correctly applies to LICENSE_pn variables. In any case, I see you
point, it would be very convenient to have this "default binary
license". 

Whatever the outcome is, it probably would be good to add a sanity
checker for the usage if LICENSE* variables inside a recipe.


Thanks,
  Markus


> > 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@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@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
> 



  reply	other threads:[~2016-05-30 11:26 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-27  6:26 [PATCH] license.bbclass: do not process LICENSE_pn variables Markus Lehtonen
2016-05-27 10:07 ` Martin Jansa
2016-05-30 11:26   ` Markus Lehtonen [this message]
2016-05-30 21:27     ` Paul Eggleton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1464607590.941.22.camel@linux.intel.com \
    --to=markus.lehtonen@linux.intel.com \
    --cc=martin.jansa@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.