mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
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>
This commit is contained in:
parent
f8f7e53641
commit
3cabb0e170
|
@ -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:
|
||||
|
|
|
@ -447,10 +447,6 @@ def gen_packagevar(d, pkgvars="PACKAGEVARS"):
|
|||
for p in pkgs:
|
||||
for v in vars:
|
||||
ret.append(v + ":" + p)
|
||||
|
||||
# Ensure that changes to INCOMPATIBLE_LICENSE re-run do_package for
|
||||
# affected recipes.
|
||||
ret.append('_exclude_incompatible-%s' % p)
|
||||
return " ".join(ret)
|
||||
|
||||
|
||||
|
|
|
@ -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, packages)
|
||||
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)
|
||||
|
|
Loading…
Reference in New Issue
Block a user