diff options
author | Joshua Watt <JPEWhacker@gmail.com> | 2021-09-01 08:44:50 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-09-03 09:53:28 +0100 |
commit | 902480107dd0db7b77ada4654d2e0f061a04765d (patch) | |
tree | 8078d3cb307999d69d1eba7360d1455b06d303fa /meta/lib | |
parent | 0d5c2d9f352bb6e81d6e4f2592a074195c26f578 (diff) | |
download | poky-902480107dd0db7b77ada4654d2e0f061a04765d.tar.gz |
classes/create-spdx: Fix up license reporting
Licenses reported in the SPDX documents should be either:
A) A valid SPDX identifier cross referenced from the SPDX license
database
B) A "LicenseRef" to a license described in the SPDX document
The licensing code will now add a placeholder extracted license with
corresponding "LicenseRef" for any licenses that are not matched to the
SPDX database
Parenthesis in the license expression are now handled correctly
(From OE-Core rev: 28d9d035c0ff8fcaf28bc96a976a43a602a47e94)
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r-- | meta/lib/oe/spdx.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/meta/lib/oe/spdx.py b/meta/lib/oe/spdx.py index 3f569c6862..9814fbfd66 100644 --- a/meta/lib/oe/spdx.py +++ b/meta/lib/oe/spdx.py | |||
@@ -189,6 +189,13 @@ class SPDXExternalDocumentRef(SPDXObject): | |||
189 | checksum = _Object(SPDXChecksum) | 189 | checksum = _Object(SPDXChecksum) |
190 | 190 | ||
191 | 191 | ||
192 | class SPDXExtractedLicensingInfo(SPDXObject): | ||
193 | name = _String() | ||
194 | comment = _String() | ||
195 | licenseId = _String() | ||
196 | extractedText = _String() | ||
197 | |||
198 | |||
192 | class SPDXDocument(SPDXObject): | 199 | class SPDXDocument(SPDXObject): |
193 | spdxVersion = _String(default="SPDX-" + SPDX_VERSION) | 200 | spdxVersion = _String(default="SPDX-" + SPDX_VERSION) |
194 | dataLicense = _String(default="CC0-1.0") | 201 | dataLicense = _String(default="CC0-1.0") |
@@ -200,6 +207,7 @@ class SPDXDocument(SPDXObject): | |||
200 | files = _ObjectList(SPDXFile) | 207 | files = _ObjectList(SPDXFile) |
201 | relationships = _ObjectList(SPDXRelationship) | 208 | relationships = _ObjectList(SPDXRelationship) |
202 | externalDocumentRefs = _ObjectList(SPDXExternalDocumentRef) | 209 | externalDocumentRefs = _ObjectList(SPDXExternalDocumentRef) |
210 | hasExtractedLicensingInfos = _ObjectList(SPDXExtractedLicensingInfo) | ||
203 | 211 | ||
204 | def __init__(self, **d): | 212 | def __init__(self, **d): |
205 | super().__init__(**d) | 213 | super().__init__(**d) |