]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commit
create-spdx-*: Support multilibs via SPDX_MULTILIB_SSTATE_ARCHS
authorMark Hatle <mark.hatle@amd.com>
Wed, 24 Jul 2024 23:39:18 +0000 (18:39 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 26 Jul 2024 10:54:28 +0000 (11:54 +0100)
commitf1499c36c1054fc90f7b7268cc95285f2eca72f7
tree0a62b8c12c9e6523388ca4860813122d3ecebb96
parent5262f9bbf86c4e529ff988d465ddad2d1db0b073
create-spdx-*: Support multilibs via SPDX_MULTILIB_SSTATE_ARCHS

When a create-spdx-* classes is processing documents, it needs to
find the document in a path that is related to the SSTATE_ARCH
when a packge is generated.  The SSTATE_ARCH can be affected by
multilib configurations, resulting is something like armv8a-mlib.

When the image (or SDK) is being generated and the components are
collected, the system has no knowledge of the multilib arch and
will fail to find it, such as:

  ERROR: meta-toolchain-1.0-r0 do_populate_sdk: No SPDX file found
   for package libilp32-libgcc-dbg,
   False sstate:libilp32-libgcc:armv8a-ilp32-mllibilp32-elf:14.1.0:r0:armv8a-ilp32:12:
   sstate:libilp32-libgcc::14.1.0:r0::12:

Adding in the new SPDX_MULTILIB_SSTATE_ARCHS will provide a full
set of SSTATE_ARCHS including ones that contain the multilib
extension which will allow create-spdx-* to correctly find the
document it is looking for.  This would also be valuable to any
other function doing a similar search through SSTATE_ARCH that may
have been extended with multilib configurations.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-recipe/populate_sdk_base.bbclass
meta/classes/create-spdx-2.2.bbclass
meta/classes/create-spdx-3.0.bbclass
meta/classes/spdx-common.bbclass
meta/lib/oe/sbom30.py