This v7 fixes two SPDX selftest failures reported by Mathieu Dubois-Briand
on the ARM autobuilder (oe-selftest-armhost builder 23/3458):

  - test_download_location_defensive_handling: recipe-m4.spdx.json does not 
exist
  - test_version_extraction_patterns: recipe-tar.spdx.json does not exist

Root cause: On the autobuilder, oe-selftest runs with parallel workers (-j 15).
All SPDX30Check tests land on the same worker but share sstate with prior tests
that use different configurations. Tests without unique extraconf may find
do_create_spdx satisfied by stale sstate stamps from earlier tests with
different SPDX configuration, causing the task to be skipped without deploying
the SPDX file to DEPLOY_DIR_SPDX.

The fix adds a unique SPDX_NAMESPACE_PREFIX to both tests, following the
established pattern from test_extra_opts which documents: "Many SPDX variables
do not trigger a rebuild... change the namespace prefix to include the hash
of the extra configuration." This ensures do_create_spdx always runs fresh
and deploys the expected recipe SPDX file.

Changes since v6:
  - 07/10: Added SPDX_NAMESPACE_PREFIX extraconf to
    test_download_location_defensive_handling to ensure do_create_spdx
    runs fresh on autobuilder workers with shared sstate.
  - 08/10: Added SPDX_NAMESPACE_PREFIX extraconf to
    test_version_extraction_patterns (same fix).

Changes since v5:
  - 04/10: Removed reintroduced d.getVar('SRCREV') fallback that caused
    25+ devtool/recipetool selftest failures on autobuilder. Added safety
    comment explaining the BBIMPORTS/AUTOREV constraint.

Changes since v4 (carried forward):
  - Dropped v4 07/11: "spdx30: Include recipe base PURL in package external
    identifiers" -- superseded by 874b2d301d (spdx: Add yocto PURLs,
    Joshua Watt, merged to master Jan 8 2026)

Stefano Tondo (10):
  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
  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          | 333 ++++++++++++++++++++++++++-
 meta/lib/oeqa/selftest/cases/spdx.py |  87 +++++++
 5 files changed, 534 insertions(+), 6 deletions(-)

-- 
2.53.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#232566): 
https://lists.openembedded.org/g/openembedded-core/message/232566
Mute This Topic: https://lists.openembedded.org/mt/118170490/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to