public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* [PATCH v4 00/11] spdx30: SBOM enrichment and documentation
@ 2026-02-26 12:18 stondo
  2026-02-26 12:18 ` [PATCH v4 01/11] spdx30: Add configurable file filtering support stondo
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: stondo @ 2026-02-26 12:18 UTC (permalink / raw)
  To: openembedded-core
  Cc: stefano.tondo.ext, Peter.Marko, adrian.freihofer, jpewhacker,
	mathieu, Ross.Burton

From: Stefano Tondo <stefano.tondo.ext@siemens.com>

This v4 fixes the recipetool/devtool selftest failures reported by
Mathieu Dubois-Briand (Bootlin) on the v3 autobuilder run.

Changes since v3:
  - Fixed "AUTOREV/SRCPV set too late for the fetcher to work properly"
    errors that caused ~17 recipetool/devtool selftest failures (04/11)
  - Removed d.getVar('SRCREV') fallback in version extraction code;
    this reference caused bitbake's signature generator to trace the
    SRCREV -> AUTOREV dependency chain during recipe finalization,
    triggering fatal errors for non-git temp recipes used by
    recipetool/devtool with HTTP sources
  - fd.revision is always available for git sources after fetch, so
    the fallback was unnecessary

Root cause details:
  spdx30_tasks.py is registered via BBIMPORTS (oe/__init__.py), which
  means bb.codeparser.add_module_functions() parses all its public
  functions for variable references. The d.getVar('SRCREV') call caused
  SRCREV to be tracked as a dependency. During siggen.finalise(),
  expanding SRCREV -> ${AUTOREV} -> ${@bb.fetch2.get_autorev(d)} set
  __BBAUTOREV_SEEN. Combined with __BBSRCREV_SEEN (from
  fetcher_hashes_dummyfunc), the sanity check at ast.py:550-551 fired
  for non-git recipes where __BBAUTOREV_ACTED_UPON was never set.

Verified locally:
  - recipetool create (HTTP tarball): PASSED
  - recipetool create (git URL): PASSED
  - oe-selftest recipetool.RecipetoolCreateTests.test_recipetool_create_simple: PASSED
  - oe-selftest recipetool.RecipetoolCreateTests.test_recipetool_create_cmake: PASSED
  - oe-selftest devtool.DevtoolAddTests.test_devtool_add_fetch_simple: PASSED
  - All SPDX selftests: PASSED

Stefano Tondo (11):
  spdx30: Add configurable file filtering support
  spdx30: Add supplier support for image and SDK SBOMs
  spdx30: Add ecosystem-specific PURL generation
  spdx30: Add version extraction from SRCREV for Git source components
  spdx30: Add SPDX_GIT_PURL_MAPPINGS for Git hosting
  spdx30: Enrich source downloads with external refs and PURLs
  spdx30: Include recipe base PURL in package external identifiers
  oeqa/selftest: Add test for download_location defensive handling
  spdx.py: Add test for version extraction patterns
  cve_check: Escape special characters in CPE 2.3 formatted strings
  spdx-common: Add documentation for undocumented SPDX variables

 meta/classes/create-spdx-3.0.bbclass |  20 ++
 meta/classes/spdx-common.bbclass     |  63 +++++
 meta/lib/oe/cve_check.py             |  37 ++-
 meta/lib/oe/spdx30_tasks.py          | 341 ++++++++++++++++++++++++++-
 meta/lib/oeqa/selftest/cases/spdx.py |  75 ++++++
 5 files changed, 529 insertions(+), 7 deletions(-)

-- 
2.53.0


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2026-02-26 12:19 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-26 12:18 [PATCH v4 00/11] spdx30: SBOM enrichment and documentation stondo
2026-02-26 12:18 ` [PATCH v4 01/11] spdx30: Add configurable file filtering support stondo
2026-02-26 12:18 ` [PATCH v4 02/11] spdx30: Add supplier support for image and SDK SBOMs stondo
2026-02-26 12:18 ` [PATCH v4 03/11] spdx30: Add ecosystem-specific PURL generation stondo
2026-02-26 12:18 ` [PATCH v4 04/11] spdx30: Add version extraction from SRCREV for Git source components stondo
2026-02-26 12:18 ` [PATCH v4 05/11] spdx30: Add SPDX_GIT_PURL_MAPPINGS for Git hosting stondo
2026-02-26 12:18 ` [PATCH v4 06/11] spdx30: Enrich source downloads with external refs and PURLs stondo
2026-02-26 12:18 ` [PATCH v4 07/11] spdx30: Include recipe base PURL in package external identifiers stondo
2026-02-26 12:18 ` [PATCH v4 08/11] oeqa/selftest: Add test for download_location defensive handling stondo
2026-02-26 12:18 ` [PATCH v4 09/11] spdx.py: Add test for version extraction patterns stondo
2026-02-26 12:18 ` [PATCH v4 10/11] cve_check: Escape special characters in CPE 2.3 formatted strings stondo
2026-02-26 12:18 ` [PATCH v4 11/11] spdx-common: Add documentation for undocumented SPDX variables stondo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox