From: Greg KH <gregkh@linuxfoundation.org>
To: Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
linux-kernel@vger.kernel.org, linux-spdx@vger.kernel.org
Subject: [GIT PULL] SPDX updates for 7.2-rc1
Date: Mon, 22 Jun 2026 15:34:46 +0200 [thread overview]
Message-ID: <ajk59hWhONcmJ9jw@kroah.com> (raw)
The following changes since commit 5200f5f493f79f14bbdc349e402a40dfb32f23c8:
Linux 7.1-rc4 (2026-05-17 13:59:58 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx.git tags/spdx-7.2-rc1
for you to fetch changes up to 880bae5f1269b4d81bb2a254963e84377cd37bc1:
scripts/sbom: add unit tests for SPDX-License-Identifier parsing (2026-05-22 13:14:41 +0200)
----------------------------------------------------------------
SPDX patches for 7.2-rc1
Here is a "big" set of SPDX-like patches for 7.2-rc1. It is the
addition of the ability for the kernel build process to generate a
Software Bill of Materials (SBOM) in the SPDX format, that matches up
exactly with just the files that are actually built for the specific
kernel image generated.
To generate a sbom, after the kernel has been built, just do:
make sbom
and marvel at the JSON file that is generated...
This is needed by users for environments in which a SBOM is required
(medical, automotive, anything shipped in the EU, etc.) and cuts down by
a massive size the "naive" SBOM solution that many vendors have done by
just including _all_ of the kernel files in the resulting document.
This result is still a giant JSON file, that I am told parses properly,
so we just have to trust that it is properly inclusive as attempting to
parse that thing by hand is impossible.
The scripts here are self-contained python scripts, no additional
libraries or tools to create the SBOM are needed, which is important for
many build systems. Overall it's just a bit over 4000 lines of "simple"
python code, the most complex part is the regex matching lines, but
those are nothing compared to what we maintain in scripts/checkpatch.pl
today...
The various parts where the tool touches the kbuild subsystem have been
acked by the kbuild maintainer, so all should be good here.
All of these patches have been in linux-next for weeks with no reported
problems.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----------------------------------------------------------------
Luis Augenstein (15):
scripts/sbom: add documentation
scripts/sbom: integrate script in make process
scripts/sbom: setup sbom logging
scripts/sbom: add command parsers
scripts/sbom: add cmd graph generation
scripts/sbom: add additional dependency sources for cmd graph
scripts/sbom: add SPDX classes
scripts/sbom: add JSON-LD serialization
scripts/sbom: add shared SPDX elements
scripts/sbom: collect file metadata
scripts/sbom: add SPDX output graph
scripts/sbom: add SPDX source graph
scripts/sbom: add SPDX build graph
scripts/sbom: add unit tests for command parsers
scripts/sbom: add unit tests for SPDX-License-Identifier parsing
.gitignore | 1 +
Documentation/tools/index.rst | 1 +
Documentation/tools/sbom/sbom.rst | 206 ++++++++
MAINTAINERS | 6 +
Makefile | 28 +-
scripts/sbom/sbom.py | 135 ++++++
scripts/sbom/sbom/__init__.py | 0
scripts/sbom/sbom/cmd_graph/__init__.py | 7 +
scripts/sbom/sbom/cmd_graph/cmd_file.py | 162 +++++++
scripts/sbom/sbom/cmd_graph/cmd_graph.py | 46 ++
scripts/sbom/sbom/cmd_graph/cmd_graph_node.py | 142 ++++++
scripts/sbom/sbom/cmd_graph/deps_parser.py | 52 +++
.../sbom/sbom/cmd_graph/hardcoded_dependencies.py | 87 ++++
scripts/sbom/sbom/cmd_graph/incbin_parser.py | 42 ++
.../sbom/cmd_graph/savedcmd_parser/__init__.py | 6 +
.../savedcmd_parser/command_parser_registry.py | 516 +++++++++++++++++++++
.../cmd_graph/savedcmd_parser/command_splitter.py | 128 +++++
.../cmd_graph/savedcmd_parser/savedcmd_parser.py | 67 +++
.../sbom/cmd_graph/savedcmd_parser/tokenizer.py | 92 ++++
scripts/sbom/sbom/config.py | 320 +++++++++++++
scripts/sbom/sbom/environment.py | 192 ++++++++
scripts/sbom/sbom/path_utils.py | 22 +
scripts/sbom/sbom/sbom_logging.py | 94 ++++
scripts/sbom/sbom/spdx/__init__.py | 7 +
scripts/sbom/sbom/spdx/build.py | 17 +
scripts/sbom/sbom/spdx/core.py | 170 +++++++
scripts/sbom/sbom/spdx/serialization.py | 62 +++
scripts/sbom/sbom/spdx/simplelicensing.py | 20 +
scripts/sbom/sbom/spdx/software.py | 69 +++
scripts/sbom/sbom/spdx/spdxId.py | 36 ++
scripts/sbom/sbom/spdx_graph/__init__.py | 7 +
scripts/sbom/sbom/spdx_graph/build_spdx_graphs.py | 83 ++++
scripts/sbom/sbom/spdx_graph/kernel_file.py | 315 +++++++++++++
.../sbom/sbom/spdx_graph/shared_spdx_elements.py | 32 ++
scripts/sbom/sbom/spdx_graph/spdx_build_graph.py | 318 +++++++++++++
scripts/sbom/sbom/spdx_graph/spdx_graph_model.py | 36 ++
scripts/sbom/sbom/spdx_graph/spdx_output_graph.py | 187 ++++++++
scripts/sbom/sbom/spdx_graph/spdx_source_graph.py | 130 ++++++
scripts/sbom/tests/__init__.py | 0
scripts/sbom/tests/cmd_graph/__init__.py | 0
.../sbom/tests/cmd_graph/test_savedcmd_parser.py | 443 ++++++++++++++++++
scripts/sbom/tests/spdx_graph/__init__.py | 0
scripts/sbom/tests/spdx_graph/test_kernel_file.py | 35 ++
43 files changed, 4317 insertions(+), 2 deletions(-)
create mode 100644 Documentation/tools/sbom/sbom.rst
create mode 100644 scripts/sbom/sbom.py
create mode 100644 scripts/sbom/sbom/__init__.py
create mode 100644 scripts/sbom/sbom/cmd_graph/__init__.py
create mode 100644 scripts/sbom/sbom/cmd_graph/cmd_file.py
create mode 100644 scripts/sbom/sbom/cmd_graph/cmd_graph.py
create mode 100644 scripts/sbom/sbom/cmd_graph/cmd_graph_node.py
create mode 100644 scripts/sbom/sbom/cmd_graph/deps_parser.py
create mode 100644 scripts/sbom/sbom/cmd_graph/hardcoded_dependencies.py
create mode 100644 scripts/sbom/sbom/cmd_graph/incbin_parser.py
create mode 100644 scripts/sbom/sbom/cmd_graph/savedcmd_parser/__init__.py
create mode 100644 scripts/sbom/sbom/cmd_graph/savedcmd_parser/command_parser_registry.py
create mode 100644 scripts/sbom/sbom/cmd_graph/savedcmd_parser/command_splitter.py
create mode 100644 scripts/sbom/sbom/cmd_graph/savedcmd_parser/savedcmd_parser.py
create mode 100644 scripts/sbom/sbom/cmd_graph/savedcmd_parser/tokenizer.py
create mode 100644 scripts/sbom/sbom/config.py
create mode 100644 scripts/sbom/sbom/environment.py
create mode 100644 scripts/sbom/sbom/path_utils.py
create mode 100644 scripts/sbom/sbom/sbom_logging.py
create mode 100644 scripts/sbom/sbom/spdx/__init__.py
create mode 100644 scripts/sbom/sbom/spdx/build.py
create mode 100644 scripts/sbom/sbom/spdx/core.py
create mode 100644 scripts/sbom/sbom/spdx/serialization.py
create mode 100644 scripts/sbom/sbom/spdx/simplelicensing.py
create mode 100644 scripts/sbom/sbom/spdx/software.py
create mode 100644 scripts/sbom/sbom/spdx/spdxId.py
create mode 100644 scripts/sbom/sbom/spdx_graph/__init__.py
create mode 100644 scripts/sbom/sbom/spdx_graph/build_spdx_graphs.py
create mode 100644 scripts/sbom/sbom/spdx_graph/kernel_file.py
create mode 100644 scripts/sbom/sbom/spdx_graph/shared_spdx_elements.py
create mode 100644 scripts/sbom/sbom/spdx_graph/spdx_build_graph.py
create mode 100644 scripts/sbom/sbom/spdx_graph/spdx_graph_model.py
create mode 100644 scripts/sbom/sbom/spdx_graph/spdx_output_graph.py
create mode 100644 scripts/sbom/sbom/spdx_graph/spdx_source_graph.py
create mode 100644 scripts/sbom/tests/__init__.py
create mode 100644 scripts/sbom/tests/cmd_graph/__init__.py
create mode 100644 scripts/sbom/tests/cmd_graph/test_savedcmd_parser.py
create mode 100644 scripts/sbom/tests/spdx_graph/__init__.py
create mode 100644 scripts/sbom/tests/spdx_graph/test_kernel_file.py
next reply other threads:[~2026-06-22 13:34 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-22 13:34 Greg KH [this message]
2026-06-22 19:58 ` [GIT PULL] SPDX updates for 7.2-rc1 pr-tracker-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ajk59hWhONcmJ9jw@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-spdx@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.