check_license = False
if check_license and bad_licenses:
+ bad_licenses = map(lambda l: canonical_license(d, l), bad_licenses)
+
whitelist = []
for lic in bad_licenses:
for w in ["HOSTTOOLS_WHITELIST_", "LGPLv2_WHITELIST_", "WHITELIST_"]:
"""
return d.getVarFlag('SPDXLICENSEMAP', license, True)
+def canonical_license(d, license):
+ """
+ Return the canonical (SPDX) form of the license if available (so GPLv3
+ becomes GPL-3.0), or the passed license if there is no canonical form.
+ """
+ return d.getVarFlag('SPDXLICENSEMAP', license, True) or license
+
def incompatible_license(d, dont_want_licenses, package=None):
"""
- This function checks if a recipe has only incompatible licenses. It also take into consideration 'or'
- operand.
+ This function checks if a recipe has only incompatible licenses. It also
+ take into consideration 'or' operand. dont_want_licenses should be passed
+ as canonical (SPDX) names.
"""
import re
import oe.license
licenses = oe.license.flattened_licenses(license, choose_lic_set)
except oe.license.LicenseError as exc:
bb.fatal('%s: %s' % (d.getVar('P', True), exc))
- return any(not license_ok(l) for l in licenses)
+ return any(not license_ok(canonical_license(d, l)) for l in licenses)
def check_license_flags(d):
"""