@@ -56,6 +56,12 @@ more information in the output :term:`SPDX` data:
- Add a description of the **compiled** source files used to generate host tools
and target packages (:term:`SPDX_INCLUDE_COMPILED_SOURCES`)
+- Export the Linux kernel configuration (``CONFIG_*`` parameters) into the
+ SPDX document (:term:`SPDX_INCLUDE_KERNEL_CONFIG`).
+
+- Export the recipe's ``PACKAGECONFIG`` features (enabled/disabled) into the
+ SPDX document (:term:`SPDX_INCLUDE_PACKAGECONFIG`).
+
- Add archives of these source files themselves (:term:`SPDX_ARCHIVE_SOURCES`).
Though the toplevel :term:`SPDX` output is available in
@@ -31,6 +31,12 @@ New Features / Enhancements in |yocto-ver|
directory where OpenSSH host keys are stored. The default value is
``/etc/ssh``.
+ - :term:`SPDX_INCLUDE_KERNEL_CONFIG`: export the Linux kernel
+ configuration (``CONFIG_*`` parameters) into the SPDX document.
+
+ - :term:`SPDX_INCLUDE_PACKAGECONFIG`: export a recipe's
+ :term:`PACKAGECONFIG` features (enabled/disabled) into the SPDX document.
+
- Kernel-related changes:
- New core recipes:
@@ -9121,6 +9121,49 @@ system and gives an overview of their function and contents.
increases the SBOM size (potentially by several gigabytes for typical
images).
+ :term:`SPDX_INCLUDE_KERNEL_CONFIG`
+ This option allows exporting the Linux kernel configuration
+ (the contents of the ``.config`` file) into the recipe's SPDX
+ document as a separate ``build_Build`` object. Each kernel
+ configuration parameter (``CONFIG_*``) is recorded and linked to
+ the main kernel object using an ``ancestorOf`` relationship.
+
+ .. note::
+
+ This variable only has effect when using the SPDX 3.0 output
+ format (see :ref:`ref-classes-create-spdx`).
+
+ Enable this option as follows::
+
+ SPDX_INCLUDE_KERNEL_CONFIG = "1"
+
+ When enabled, a separate SPDX object is created for the kernel
+ configuration, improving reproducibility, compliance tracking,
+ and auditing of build-time kernel features.
+
+ :term:`SPDX_INCLUDE_PACKAGECONFIG`
+ This option allows exporting a recipe's :term:`PACKAGECONFIG`
+ features into the recipe's SPDX document. Each feature is
+ recorded as a ``DictionaryEntry`` with key
+ ``PACKAGECONFIG:<feature>`` and value ``enabled`` or
+ ``disabled``, depending on whether the feature is active in
+ the current build.
+
+ .. note::
+
+ This variable only has effect when using the SPDX 3.0 output
+ format (see :ref:`ref-classes-create-spdx`).
+
+ Enable this option as follows::
+
+ SPDX_INCLUDE_PACKAGECONFIG = "1"
+
+ When enabled, the build-time configuration of each recipe is
+ captured in the SPDX document, improving transparency,
+ reproducibility, and security auditing. It allows consumers of
+ the SPDX SBOM to determine which optional features were
+ enabled or disabled in a given build.
+
:term:`SPDX_LICENSES`
Path to the JSON file containing SPDX license identifier mappings.
This file maps common license names to official SPDX license