[OE-core][PATCH v2 0/8] Add SPDX 3 Recipe Information

Joshua Watt
2026-02-24T23:02:47Z

Changes the SPDX 3 output to include a "recipe" package that describe
static information available at parse time (without building). This is
primarily useful for gathering SPDX 3 VEX information about some or all
recipes, enabling SPDX 3 to be used in place of cve_check.bbclass and
vex.bbclass.

Special thanks to Benjamin Robin <benjamin.robin@bootlin.com> for
helping work through this.

V2: Fixes a bug where do_populate_sysroot was running when it should not
be. Drops the patch to ignore ASSUME_PROVIDES recipes, since this is
incorrect (this is already handled by bitbake in the taskgraph, and
doesn't need to be manually removed).

Joshua Watt (8):
llvm-project-source: Use allarch.bbclass
gcc-source: Use allarch.bbclass
spdx3: Add recipe SPDX data
spdx3: Add recipe SBoM task
spdx3: Add is-native property
spdx30: Include patch file information in VEX
spdx: De-duplicate CreationInfo
spdx_common: Check for dependent task in task flags

meta/classes-global/sstate.bbclass | 4 +-
.../create-spdx-image-3.0.bbclass | 4 +-
.../create-spdx-sdk-3.0.bbclass | 4 +-
meta/classes-recipe/kernel.bbclass | 2 +-
meta/classes-recipe/nospdx.bbclass | 1 +
meta/classes/create-spdx-2.2.bbclass | 12 +-
meta/classes/create-spdx-3.0.bbclass | 75 ++-
meta/classes/spdx-common.bbclass | 16 +-
meta/lib/oe/sbom30.py | 192 ++++---
meta/lib/oe/spdx30.py | 2 +-
meta/lib/oe/spdx30_tasks.py | 487 +++++++++++++-----
meta/lib/oe/spdx_common.py | 11 +
.../meta/meta-world-recipe-sbom.bb | 26 +
.../clang/llvm-project-source.inc | 8 +-
meta/recipes-devtools/gcc/gcc-source.inc | 16 +-
15 files changed, 615 insertions(+), 245 deletions(-)
create mode 100644 meta/recipes-core/meta/meta-world-recipe-sbom.bb

--
2.53.0