Commit Graph

15 Commits

Author SHA1 Message Date
Joshua Watt
acec2d26d6 classes/create-spdx: Comment out placeholder license warning
We don't want this warning causing problems on the AB, so leave it
comment out for now

(From OE-Core rev: d41018311abf91899645b8f3160db540abdb5398)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-03 09:53:29 +01:00
Joshua Watt
cf707e8323 classes/create-spdx: Skip package processing for native recipes
Native recipes do not produce packages and should not process them,
otherwise it can trigger an error in read_subpackage_metadata

(From OE-Core rev: ea077b1ff6a4ccd5241a085bf9a3f67011e0f7bf)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-03 09:53:29 +01:00
Joshua Watt
b8b45c35fa classes/create-spdx: Collect all task dependencies
Stop filtering the runtime dependencies based on do_create_sdpx (makes
it only pick up things in DEPENDS) and instead include all task
dependencies that are not the current PN. This allows other dependency
methods to be picked up correctly, for example the dependency on the
kernel used by kernel modules.

(From OE-Core rev: c9659562cf88a820c668ff1eb20814dcb4829392)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-03 09:53:29 +01:00
Joshua Watt
45ea7b7970 classes/create-spdx: Add special exception for Public Domain license
The Public Domain license (PD) needs a special exception in the license
processing since there is no common license text to be extracted for
these licenses.

(From OE-Core rev: fe5b757712aa99ff1ff10d2304ac320100635200)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-03 09:53:29 +01:00
Joshua Watt
de3b871786 classes/create-spdx: Fix file:// in downloadLocation
file:// URIs should not be included as the downloadLocation. Instead,
loop until a non-file:// URI is found, or set the location to
NOASSERTION if none is found

(From OE-Core rev: 19c61ec3986213b336d965d90b1329085e7d6179)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-03 09:53:29 +01:00
Joshua Watt
beeb0f9e53 classes/create-spdx: Speed up hash calculations
Use the bb.utils.sha* utilities to hash files since they are much faster
than the loops we were rolling ourselves

(From OE-Core rev: a6d9de5350937c7e25899491db59f473345f0b69)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-03 09:53:28 +01:00
Joshua Watt
902480107d 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>
2021-09-03 09:53:28 +01:00
Saul Wold
0d5c2d9f35 classes/create-spdx: extend DocumentRef to include name
This will create a more uniq DocumentRef, which will allow
the individual spdx files to be merged into a single SBOM
file reflecting the image. Do the same with the runtime dependencies
also

(From OE-Core rev: df7c88a48621d32c02f328eedc314f10d475b758)

Signed-off-by: Saul Wold <saul.wold@windriver.com>
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-03 09:53:28 +01:00
Joshua Watt
25e41200c7 classes/create-spdx: Fix another creator
Fixes another creator that was missed earlier

(From OE-Core rev: 046c05fec9fc5162d7a14971ed1402d86605d229)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-03 09:53:28 +01:00
Joshua Watt
bdda626481 classes/create-spdx: Add NOASSERTION for unknown debug sources
If a debug source cannot be found, mark it as NOASSERTION so that other
tools at least know we were unable to locate it.

(From OE-Core rev: 0e6bdd3f208c50153087c2baca67e9fd64a458d0)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-03 09:53:28 +01:00
Joshua Watt
0b871c57b8 classes/create-spdx: Add runtime dependency mapping
(From OE-Core rev: 82f3229bce41dc101c79865033432161dac269d8)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-03 09:53:28 +01:00
Joshua Watt
69faca3df6 classes/create-spdx: Add index to DEPLOYDIR
Add the index to DEPLOYDIR in addition to adding it to the SPDX archive

(From OE-Core rev: 374dc08c0f22e98a267676f71308592d17f77d64)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-03 09:53:28 +01:00
Joshua Watt
f1cd4f264d classes/create-spdx: Add SHA1 to index file
(From OE-Core rev: ebfe78ad26b643ce0fb22ba5b3ede43da4a78987)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-03 09:53:28 +01:00
Joshua Watt
f3796b4524 classes/create-spdx: Change creator
Update the creator name since this no longer lives in meta-doubleopen

(From OE-Core rev: 6fdea64ef53eb4de3d0e58e70ae6b391fdff6cd0)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-03 09:53:28 +01:00
Joshua Watt
f1a34a63e4 classes/create-spdx: Add class
Adds a class as a first attempt to create SPDX SBoM documents during the
build. This initial work was influenced by [meta-doubleopen][1],
although almost completely rewritten.

[1]: https://github.com/doubleopen-project/meta-doubleopen

(From OE-Core rev: 78c79821ae7e2f060b9a74ea9aefce98102bb00e)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-03 09:53:28 +01:00