license.bbclass: canonicalise the licenses named with 'X+'
If INCOMPATIBLE_LICENSE=GPLv3, GPLv3+ should be excluded as well but not now since there is no SPDXLICENSEMAP for licenses named with 'X+', we can add all the SPDXLICENSEMAP settings for licenses named with 'X+' in licenses.conf, but it's more like a duplication, so improve the canonical_license function to auto map for 'X+' if SPDXLICENSEMAP for 'X' is available, so GPLv3+ becomes GPL-3.0+. (From OE-Core rev: 1d6dab1dbbbfbcb32e58dba3111130157ef2b24f) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
014654f79f
commit
8c051c8c31
|
@ -274,9 +274,16 @@ def return_spdx(d, license):
|
|||
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.
|
||||
becomes GPL-3.0), for the license named 'X+', return canonical form of
|
||||
'X' if availabel and the tailing '+' (so GPLv3+ becomes GPL-3.0+),
|
||||
or the passed license if there is no canonical form.
|
||||
"""
|
||||
return d.getVarFlag('SPDXLICENSEMAP', license, True) or license
|
||||
lic = d.getVarFlag('SPDXLICENSEMAP', license, True) or ""
|
||||
if not lic and license.endswith('+'):
|
||||
lic = d.getVarFlag('SPDXLICENSEMAP', license.rstrip('+'), True)
|
||||
if lic:
|
||||
lic += '+'
|
||||
return lic or license
|
||||
|
||||
def incompatible_license(d, dont_want_licenses, package=None):
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue