diff options
author | Joshua Watt <JPEWhacker@gmail.com> | 2024-10-24 13:03:09 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-10-25 15:37:10 +0100 |
commit | 3cabb0e17082c0d2ee984d646d0951f9200b8e9c (patch) | |
tree | 57ceadd1a283683a8d473919f614bf2c6fef1c15 /meta/classes-global | |
parent | f8f7e53641955f6fc70dcb1d30777fc82060eb24 (diff) | |
download | poky-3cabb0e17082c0d2ee984d646d0951f9200b8e9c.tar.gz |
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 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.
(From OE-Core rev: 1816c5a5e724a7f907c9afe4a47b6699ea081ace)
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes-global')
-rw-r--r-- | meta/classes-global/base.bbclass | 1 | ||||
-rw-r--r-- | meta/classes-global/package.bbclass | 4 |
2 files changed, 0 insertions, 5 deletions
diff --git a/meta/classes-global/base.bbclass b/meta/classes-global/base.bbclass index 5b8663f454..b81e61fdb7 100644 --- a/meta/classes-global/base.bbclass +++ b/meta/classes-global/base.bbclass | |||
@@ -581,7 +581,6 @@ python () { | |||
581 | if unskipped_pkgs: | 581 | if unskipped_pkgs: |
582 | for pkg in skipped_pkgs: | 582 | for pkg in skipped_pkgs: |
583 | bb.debug(1, "Skipping the package %s at do_rootfs because of incompatible license(s): %s" % (pkg, ' '.join(skipped_pkgs[pkg]))) | 583 | bb.debug(1, "Skipping the package %s at do_rootfs because of incompatible license(s): %s" % (pkg, ' '.join(skipped_pkgs[pkg]))) |
584 | d.setVar('_exclude_incompatible-' + pkg, ' '.join(skipped_pkgs[pkg])) | ||
585 | for pkg in unskipped_pkgs: | 584 | for pkg in unskipped_pkgs: |
586 | bb.debug(1, "Including the package %s" % pkg) | 585 | bb.debug(1, "Including the package %s" % pkg) |
587 | else: | 586 | else: |
diff --git a/meta/classes-global/package.bbclass b/meta/classes-global/package.bbclass index 6cd8c0140f..9be1d6a5b1 100644 --- a/meta/classes-global/package.bbclass +++ b/meta/classes-global/package.bbclass | |||
@@ -447,10 +447,6 @@ def gen_packagevar(d, pkgvars="PACKAGEVARS"): | |||
447 | for p in pkgs: | 447 | for p in pkgs: |
448 | for v in vars: | 448 | for v in vars: |
449 | ret.append(v + ":" + p) | 449 | ret.append(v + ":" + p) |
450 | |||
451 | # Ensure that changes to INCOMPATIBLE_LICENSE re-run do_package for | ||
452 | # affected recipes. | ||
453 | ret.append('_exclude_incompatible-%s' % p) | ||
454 | return " ".join(ret) | 450 | return " ".join(ret) |
455 | 451 | ||
456 | 452 | ||