summaryrefslogtreecommitdiffstats
path: root/meta/classes/license.bbclass
diff options
context:
space:
mode:
authorJackie Huang <jackie.huang@windriver.com>2014-10-27 03:37:41 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-11-04 10:27:11 +0000
commit8c051c8c318b5dba8da968850dccd64238d19619 (patch)
tree86080b61506937c985f2d75920249d4ae60d65e3 /meta/classes/license.bbclass
parent014654f79f4a6a67a87baa43bd5db172b015d8a5 (diff)
downloadpoky-8c051c8c318b5dba8da968850dccd64238d19619.tar.gz
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>
Diffstat (limited to 'meta/classes/license.bbclass')
-rw-r--r--meta/classes/license.bbclass11
1 files changed, 9 insertions, 2 deletions
diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
index a34ea39493..14d3107c4a 100644
--- a/meta/classes/license.bbclass
+++ b/meta/classes/license.bbclass
@@ -274,9 +274,16 @@ def return_spdx(d, license):
274def canonical_license(d, license): 274def canonical_license(d, license):
275 """ 275 """
276 Return the canonical (SPDX) form of the license if available (so GPLv3 276 Return the canonical (SPDX) form of the license if available (so GPLv3
277 becomes GPL-3.0), or the passed license if there is no canonical form. 277 becomes GPL-3.0), for the license named 'X+', return canonical form of
278 'X' if availabel and the tailing '+' (so GPLv3+ becomes GPL-3.0+),
279 or the passed license if there is no canonical form.
278 """ 280 """
279 return d.getVarFlag('SPDXLICENSEMAP', license, True) or license 281 lic = d.getVarFlag('SPDXLICENSEMAP', license, True) or ""
282 if not lic and license.endswith('+'):
283 lic = d.getVarFlag('SPDXLICENSEMAP', license.rstrip('+'), True)
284 if lic:
285 lic += '+'
286 return lic or license
280 287
281def incompatible_license(d, dont_want_licenses, package=None): 288def incompatible_license(d, dont_want_licenses, package=None):
282 """ 289 """