diff options
| author | Hongxu Jia <hongxu.jia@windriver.com> | 2024-12-25 21:43:21 -0800 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-01-08 12:50:14 +0000 |
| commit | ac546d219636b4808e6ef1905fcb0ed647210ea6 (patch) | |
| tree | 5a6b9040cbb1829b65c636bab6895cc638fada39 /meta/lib/oe | |
| parent | 4d8103bfedc6865c3f7b9969a67480a093e62730 (diff) | |
| download | poky-ac546d219636b4808e6ef1905fcb0ed647210ea6.tar.gz | |
meta/lib/oe/sbom30.py: set alias for scan declared licenses
when using SPDX_INCLUDE_SOURCES, it calls scan_declared_licenses
to scan licenses from source file, set alias for the newly added
license and and license alias to hasDeclaredLicense relationship
$ echo 'MACHINE = "qemux86-64"' >> conf/local.conf
$ echo 'SPDX_INCLUDE_SOURCES = "1"' >> conf/local.conf
$ bitbake shadow
$ vim tmp/deploy/spdx/3.0.1/corei7-64/recipes/recipe-shadow.spdx.json
Before this commit
...
{
"type": "Relationship",
...
"from": "http://spdx.org/spdxdocs/shadow-10e66933-65cf-5a2d-9a1d-99b12a405441/d0cdb0d02e54d55e52fccf8631f8290b161ad43fe31fffe09e8e25041d2280cf/sourcefile/11048",
"relationshipType": "hasDeclaredLicense",
"to": [
"http://spdx.org/spdxdocs/shadow-10e66933-65cf-5a2d-9a1d-99b12a405441/d0cdb0d02e54d55e52fccf8631f8290b161ad43fe31fffe09e8e25041d2280cf/license/3_24_0/BSD-3-Clause",
]
},
...
After this commit
...
{
"type": "Relationship",
...
"from": "http://spdx.org/spdxdocs/shadow-10e66933-65cf-5a2d-9a1d-99b12a405441/d0cdb0d02e54d55e52fccf8631f8290b161ad43fe31fffe09e8e25041d2280cf/sourcefile/11048",
"relationshipType": "hasDeclaredLicense",
"to": [
"http://spdxdocs.org/openembedded-alias/by-doc-hash/cc72db638e3f8e283e722af0ecc77d19f93cc6736700ee76477e3773b6b07b05/shadow/UNIHASH/license/3_24_0/BSD-3-Clause"
]
},
...
(From OE-Core rev: 1f109e22dd22e6071685a8e55bdfe3069bc8fadb)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe')
| -rw-r--r-- | meta/lib/oe/sbom30.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/meta/lib/oe/sbom30.py b/meta/lib/oe/sbom30.py index 0004447066..7993e1fbef 100644 --- a/meta/lib/oe/sbom30.py +++ b/meta/lib/oe/sbom30.py | |||
| @@ -589,12 +589,14 @@ class ObjectSet(oe.spdx30.SHACLObjectSet): | |||
| 589 | 589 | ||
| 590 | file_licenses = set() | 590 | file_licenses = set() |
| 591 | for extracted_lic in oe.spdx_common.extract_licenses(filepath): | 591 | for extracted_lic in oe.spdx_common.extract_licenses(filepath): |
| 592 | file_licenses.add(self.new_license_expression(extracted_lic, license_data)) | 592 | lic = self.new_license_expression(extracted_lic, license_data) |
| 593 | self.set_element_alias(lic) | ||
| 594 | file_licenses.add(lic) | ||
| 593 | 595 | ||
| 594 | self.new_relationship( | 596 | self.new_relationship( |
| 595 | [spdx_file], | 597 | [spdx_file], |
| 596 | oe.spdx30.RelationshipType.hasDeclaredLicense, | 598 | oe.spdx30.RelationshipType.hasDeclaredLicense, |
| 597 | file_licenses, | 599 | [oe.sbom30.get_element_link_id(lic_alias) for lic_alias in file_licenses], |
| 598 | ) | 600 | ) |
| 599 | spdx_file.extension.append(OELicenseScannedExtension()) | 601 | spdx_file.extension.append(OELicenseScannedExtension()) |
| 600 | 602 | ||
