diff options
| -rw-r--r-- | meta/classes/license.bbclass | 11 |
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): | |||
| 274 | def canonical_license(d, license): | 274 | def 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 | ||
| 281 | def incompatible_license(d, dont_want_licenses, package=None): | 288 | def incompatible_license(d, dont_want_licenses, package=None): |
| 282 | """ | 289 | """ |
