diff options
author | Alexander Kanavin <alex.kanavin@gmail.com> | 2019-10-10 13:18:47 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-10-10 16:55:54 +0100 |
commit | 8a0f342e4fc33b1aa53089b1de583d45d2951476 (patch) | |
tree | e5f3bf3f62a9fbe8daf222589064656da3704dcd /meta/classes/license.bbclass | |
parent | f8c588e555530567026016a38329b42d4dcc417e (diff) | |
download | openembedded-core-contrib-8a0f342e4fc33b1aa53089b1de583d45d2951476.tar.gz |
license.bbclass: split incompatible license check into a helper function
This would help with checking incompatible licenses at do_rootfs step
in image creation, where it is beneficial to pass the license string
directly to the function.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/license.bbclass')
-rw-r--r-- | meta/classes/license.bbclass | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index adca881c85..648a4d7892 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass @@ -287,17 +287,7 @@ def incompatible_license_contains(license, truevalue, falsevalue, d): bad_licenses = expand_wildcard_licenses(d, bad_licenses) return truevalue if license in bad_licenses else falsevalue -def incompatible_license(d, dont_want_licenses, package=None): - """ - This function checks if a recipe has only incompatible licenses. It also - take into consideration 'or' operand. dont_want_licenses should be passed - as canonical (SPDX) names. - """ - import oe.license - license = d.getVar("LICENSE_%s" % package) if package else None - if not license: - license = d.getVar('LICENSE') - +def incompatible_pkg_license(d, dont_want_licenses, license): # Handles an "or" or two license sets provided by # flattened_licenses(), pick one that works if possible. def choose_lic_set(a, b): @@ -311,6 +301,19 @@ def incompatible_license(d, dont_want_licenses, package=None): return any(not oe.license.license_ok(canonical_license(d, l), \ dont_want_licenses) for l in licenses) +def incompatible_license(d, dont_want_licenses, package=None): + """ + This function checks if a recipe has only incompatible licenses. It also + take into consideration 'or' operand. dont_want_licenses should be passed + as canonical (SPDX) names. + """ + import oe.license + license = d.getVar("LICENSE_%s" % package) if package else None + if not license: + license = d.getVar('LICENSE') + + return incompatible_pkg_license(d, dont_want_licenses, license) + def check_license_flags(d): """ This function checks if a recipe has any LICENSE_FLAGS that |