From: Richard Purdie Date: Thu, 18 Feb 2021 15:07:11 +0000 (+0000) Subject: licenses: Update INCOMPATIBLE_LICENSE for 'or-later' handling X-Git-Tag: yocto-3.3~440 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=08cbf17485b6443a6118acfac8200eb6c61445a3;p=openembedded-core.git 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. Signed-off-by: Richard Purdie --- diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index 358c716a80..bcea0b3cb5 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass @@ -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: