diff options
author | Peter Kjellerstedt <peter.kjellerstedt@axis.com> | 2021-09-14 20:11:15 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-09-16 09:48:38 +0100 |
commit | f58d54b31a1ddb4e60eb07365bfb7dfe78ed56af (patch) | |
tree | 783ccb2c42a931d27b2477c3d87bded55dd6e10a /meta/classes | |
parent | 4a839d7c66e4589050ce3f145a8c7cf820e6b35d (diff) | |
download | openembedded-core-contrib-f58d54b31a1ddb4e60eb07365bfb7dfe78ed56af.tar.gz |
create-spdx.bbclass: Search all license directories for licenses
Before, even if the code was seemingly written to search through all
licenses in ${COMMON_LICENSE_DIR} and ${LICENSE_PATH}, it would
actually bail out after only searching ${COMMON_LICENSE_DIR} due to
the exception handling.
Also refrain from using f-strings.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/create-spdx.bbclass | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/meta/classes/create-spdx.bbclass b/meta/classes/create-spdx.bbclass index db85677d4c..3c73c21c04 100644 --- a/meta/classes/create-spdx.bbclass +++ b/meta/classes/create-spdx.bbclass @@ -67,6 +67,7 @@ def convert_license_to_spdx(lic, document, d, existing={}): extracted_info = oe.spdx.SPDXExtractedLicensingInfo() extracted_info.name = name extracted_info.licenseId = ident + extracted_info.extractedText = None if name == "PD": # Special-case this. @@ -78,10 +79,12 @@ def convert_license_to_spdx(lic, document, d, existing={}): with (Path(directory) / name).open(errors="replace") as f: extracted_info.extractedText = f.read() break - except Exception as e: - # Error out, as the license was in available_licenses so - # should be on disk somewhere. - bb.error(f"Cannot find text for license {name}: {e}") + except FileNotFoundError: + pass + if extracted_info.extractedText is None: + # Error out, as the license was in available_licenses so should + # be on disk somewhere. + bb.error("Cannot find text for license %s" % name) else: # If it's not SPDX, or PD, or in available licenses, then NO_GENERIC_LICENSE must be set filename = d.getVarFlag('NO_GENERIC_LICENSE', name) @@ -90,7 +93,7 @@ def convert_license_to_spdx(lic, document, d, existing={}): with open(filename, errors="replace") as f: extracted_info.extractedText = f.read() else: - bb.error(f"Cannot find any text for license {name}") + bb.error("Cannot find any text for license %s" % name) extracted[name] = extracted_info document.hasExtractedLicensingInfos.append(extracted_info) |