On Thu, Oct 24, 2024 at 4:03 AM Peter Kjellerstedt
<[email protected]> wrote:
>
> > -----Original Message-----
> > From: [email protected] 
> > <[email protected]> On Behalf Of Joshua Watt
> > Sent: den 23 oktober 2024 23:15
> > To: [email protected]
> > Cc: Joshua Watt <[email protected]>
> > Subject: [OE-core][PATCH v2 3/4] lib: package: Check incompatible licenses 
> > at packaging time
> >
> > Instead of checking for incompatible licenses in the anonymous python
> > and setting '_exclude_incompatible-', (re)check all the packages in
> > populate_packages(). This ensures that all packages are processed, even
> > dynamically generated ones.
> >
> > The use of the '_exclude-incompatible-' variable set in base.bbclass has
> > been the mechanism used for per-packages licenses since its it was added
> > as a feature (although with different names for the variable throughout
> > history). However, since this misses dynamic packages, calling
> > oe.license.skip_incompatible_package_licenses() a second time on the
> > actual final package set is a better solution.
> >
> > Signed-off-by: Joshua Watt <[email protected]>
> > ---
> >  meta/classes-global/base.bbclass | 1 -
> >  meta/lib/oe/package.py           | 6 +++---
> >  2 files changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/meta/classes-global/base.bbclass 
> > b/meta/classes-global/base.bbclass
> > index 5b8663f454d..b81e61fdb72 100644
> > --- a/meta/classes-global/base.bbclass
> > +++ b/meta/classes-global/base.bbclass
> > @@ -581,7 +581,6 @@ python () {
> >              if unskipped_pkgs:
> >                  for pkg in skipped_pkgs:
> >                      bb.debug(1, "Skipping the package %s at do_rootfs 
> > because of incompatible license(s): %s" % (pkg, ' 
> > '.join(skipped_pkgs[pkg])))
> > -                    d.setVar('_exclude_incompatible-' + pkg, ' 
> > '.join(skipped_pkgs[pkg]))
> >                  for pkg in unskipped_pkgs:
> >                      bb.debug(1, "Including the package %s" % pkg)
> >              else:
> > diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py
> > index c213a9a3ca6..480408e41e3 100644
> > --- a/meta/lib/oe/package.py
> > +++ b/meta/lib/oe/package.py
> > @@ -1447,10 +1447,10 @@ def populate_packages(d):
> >
> >      # Handle excluding packages with incompatible licenses
> >      package_list = []
> > +    skipped_pkgs = oe.license.skip_incompatible_package_licenses(d, pkgs):
>
> Umm, how well did you test this? ;)
> The Python interpreter is not too happy about the trailing colon on the line 
> above...

Yep, because I found that, fixed it, and forgot to squash the fix in
before I submitted

I'll send a V3

>
> >      for pkg in packages:
> > -        licenses = d.getVar('_exclude_incompatible-' + pkg)
> > -        if licenses:
> > -            msg = "Excluding %s from packaging as it has incompatible 
> > license(s): %s" % (pkg, licenses)
> > +        if pkg in skipped_pkgs:
> > +            msg = "Excluding %s from packaging as it has incompatible 
> > license(s): %s" % (pkg, skipped_pkgs[pkg])
> >              oe.qa.handle_error("incompatible-license", msg, d)
> >          else:
> >              package_list.append(pkg)
> > --
> > 2.46.2
>
> //Peter
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#206300): 
https://lists.openembedded.org/g/openembedded-core/message/206300
Mute This Topic: https://lists.openembedded.org/mt/109179697/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to