-
Notifications
You must be signed in to change notification settings - Fork 1
Open
8 / 88 of 8 issues completedLabels
EpicTop-level issue used to organize and track multiple related sub-issues under a common theme.Top-level issue used to organize and track multiple related sub-issues under a common theme.
Description
The primary purpose of the sbom.py script is to generate an sbom.spdx.json file conforming to the SPDX specification.
The desired structure of the SPDX document is defined in #58 .
The currently implemented Structure is as follows:
-
- One instance each of:
SpdxDocument,SoftwareAgent,CreationInfo,Sbom - One
Packagecontaining the root artifacts (final kernel image plus.komodules)- The package is connected to a
simpleLicensing/LicenseExpressionelement via ahasDeclaredLicense-Relationship. The License must be provided as command-line argument.
- The package is connected to a
- One
Fileelement for each file involved in the kernel build.- File names are specified relative to the source or output tree. When the two trees differ, two File elements of type directory are created to represent their roots. Each file is linked to the appropriate tree via a
contains-Relationship. - sha256 hashes of the original file are attached to each
Fileelement
- File names are specified relative to the source or output tree. When the two trees differ, two File elements of type directory are created to represent their roots. Each file is linked to the appropriate tree via a
- One
Buildelement for each build step, connecting input files to the produced output file viahasInput-andhasOutput-Relationshipelements.
- One instance each of:
-
- added
hasDeclaredLicense-Relationshipfrom eachFileelement in the source tree to the correspondingLicenseExpressionelements according to the specified SPDX-License-Identifier at the beginning of the file.
- added
-
- reduced spdx document size by introducing an spdxId prefix in the
@context.
- reduced spdx document size by introducing an spdxId prefix in the
-
- added
primaryPurposeandcontentIdentifierproperties toFileelements.
- added
-
split spdx document into source, build and output #75
- split up the single spdx document into three:
- source: Licenses, source Files
- build: generated Files, source Files outside src_tree
- output: Package, distributed Files (copy from Build)
- split up the single spdx document into three:
-
- split up the single output package into one individual package per root output (kernel + kernel modules)
-
Build Metadata & High Level Build #87
- high level
Buildelement describing the build environment.
- high level
Not yet implemented features are:
- validate in CI that the three spdx documents can be combined into one single graph without issues.
Sub-issues
Metadata
Metadata
Assignees
Labels
EpicTop-level issue used to organize and track multiple related sub-issues under a common theme.Top-level issue used to organize and track multiple related sub-issues under a common theme.