diff options
author | Peter Kjellerstedt <peter.kjellerstedt@axis.com> | 2019-12-11 17:48:16 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-12-16 23:25:50 +0000 |
commit | 4028227713e5453860f0918c64388357f71d0456 (patch) | |
tree | 621446e319064b4b6baace281a203cf33a5f8e14 | |
parent | ba3550fb0f852c5ab2ac537822567ab6ad1f3a00 (diff) | |
download | poky-4028227713e5453860f0918c64388357f71d0456.tar.gz |
base.bbclass: Simplify the check for whitelisted licenses
After a number of rewrites, the code checking if a package has been
whitelisted for an incompatible license was calculating the
whitelisted packages twice (as 'whitelist' and as 'incompatwl').
(From OE-Core rev: 01dcc8c94b882d865fc72a067a90d9721ac5fea7)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/base.bbclass | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 31457f9f12..a3170d219c 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass | |||
@@ -526,23 +526,21 @@ python () { | |||
526 | bad_licenses = expand_wildcard_licenses(d, bad_licenses) | 526 | bad_licenses = expand_wildcard_licenses(d, bad_licenses) |
527 | 527 | ||
528 | whitelist = [] | 528 | whitelist = [] |
529 | incompatwl = [] | ||
530 | for lic in bad_licenses: | 529 | for lic in bad_licenses: |
531 | spdx_license = return_spdx(d, lic) | 530 | spdx_license = return_spdx(d, lic) |
532 | whitelist.extend((d.getVar("WHITELIST_" + lic) or "").split()) | 531 | whitelist.extend((d.getVar("WHITELIST_" + lic) or "").split()) |
533 | if spdx_license: | 532 | if spdx_license: |
534 | whitelist.extend((d.getVar("WHITELIST_" + spdx_license) or "").split()) | 533 | whitelist.extend((d.getVar("WHITELIST_" + spdx_license) or "").split()) |
534 | |||
535 | if pn in whitelist: | ||
535 | ''' | 536 | ''' |
536 | We need to track what we are whitelisting and why. If pn is | 537 | We need to track what we are whitelisting and why. If pn is |
537 | incompatible we need to be able to note that the image that | 538 | incompatible we need to be able to note that the image that |
538 | is created may infact contain incompatible licenses despite | 539 | is created may infact contain incompatible licenses despite |
539 | INCOMPATIBLE_LICENSE being set. | 540 | INCOMPATIBLE_LICENSE being set. |
540 | ''' | 541 | ''' |
541 | incompatwl.extend((d.getVar("WHITELIST_" + lic) or "").split()) | 542 | bb.note("Including %s as buildable despite it having an incompatible license because it has been whitelisted" % pn) |
542 | if spdx_license: | 543 | else: |
543 | incompatwl.extend((d.getVar("WHITELIST_" + spdx_license) or "").split()) | ||
544 | |||
545 | if not pn in whitelist: | ||
546 | pkgs = d.getVar('PACKAGES').split() | 544 | pkgs = d.getVar('PACKAGES').split() |
547 | skipped_pkgs = [] | 545 | skipped_pkgs = [] |
548 | unskipped_pkgs = [] | 546 | unskipped_pkgs = [] |
@@ -562,9 +560,6 @@ python () { | |||
562 | elif all_skipped or incompatible_license(d, bad_licenses): | 560 | elif all_skipped or incompatible_license(d, bad_licenses): |
563 | bb.debug(1, "SKIPPING recipe %s because it's %s" % (pn, license)) | 561 | bb.debug(1, "SKIPPING recipe %s because it's %s" % (pn, license)) |
564 | raise bb.parse.SkipRecipe("it has an incompatible license: %s" % license) | 562 | raise bb.parse.SkipRecipe("it has an incompatible license: %s" % license) |
565 | elif pn in whitelist: | ||
566 | if pn in incompatwl: | ||
567 | bb.note("INCLUDING " + pn + " as buildable despite INCOMPATIBLE_LICENSE because it has been whitelisted") | ||
568 | 563 | ||
569 | # Try to verify per-package (LICENSE_<pkg>) values. LICENSE should be a | 564 | # Try to verify per-package (LICENSE_<pkg>) values. LICENSE should be a |
570 | # superset of all per-package licenses. We do not do advanced (pattern) | 565 | # superset of all per-package licenses. We do not do advanced (pattern) |