licenses: Update INCOMPATIBLE_LICENSE for 'or-later' handling

Where a user adds "GPLv3" to INCOMPATIBLE_LICENSE they almost certainly
mean both GPLv3-only and GPLv3-or-later. Update the code to handle this
correctly.

(From OE-Core rev: 08cbf17485b6443a6118acfac8200eb6c61445a3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2021-02-18 15:07:11 +00:00
parent 6638a7289e
commit 55a3da9c0d

View File

@@ -281,6 +281,12 @@ def expand_wildcard_licenses(d, wildcard_licenses):
wildcards from SPDXLICENSEMAP flags and AVAILABLE_LICENSES.
"""
import fnmatch
# Assume if we're passed "GPLv3" or "*GPLv3" it means -or-later as well
for lic in wildcard_licenses[:]:
if not lic.endswith(("-or-later", "-only", "*")):
wildcard_licenses.append(lic + "+")
licenses = wildcard_licenses[:]
spdxmapkeys = d.getVarFlags('SPDXLICENSEMAP').keys()
for wld_lic in wildcard_licenses: