Re: [PATCH] meta: fix generation of kernel CONFIG_ in SPDX3

Mathieu Dubois-Briand
2026-02-16T06:48:59Z

On Fri Feb 13, 2026 at 10:26 AM CET, Benjamin Robin wrote:
> With the current solution, using a separate task
> (do_create_kernel_config_spdx) there is a dependency issue. Sometimes
> the final rootfs SBOM does not contain the CONFIG_ values.
>
> do_create_kernel_config_spdx is executed after do_create_spdx which
> deploys the SPDX file. do_create_kernel_config_spdx calls
> oe.sbom30.find_root_obj_in_jsonld to read from the deploy directory,
> which is OK, but the do_create_kernel_config_spdx ends up writing to
> this deployed file (updating it).
>
> do_create_rootfs_spdx has an explicit dependency to all do_create_spdx
> tasks, but there is nothing that prevents executing
> do_create_kernel_config_spdx after do_create_rootfs_spdx.
>
> To fix it, instead, now read from the workdir, and write to the
> workdir, and do the processing from the do_create_spdx task:
> we append to the do_create_spdx task.
>
> Also only execute this task if create-spdx-3.0 was inherited,
> previously this code could be executed if create-spdx-2.2 is
> inherited.
>
> Fixes: 228a968e7c47 ("kernel.bbclass: Add task to export kernel configuration to SPDX")
> Signed-off-by: Benjamin Robin (Schneider Electric) <benjamin.robin@bootlin.com>
> ---

Hi Benjamin,

Thanks for your patch.

It looks like this is breaking

2026-02-15 20:21:08,055 - oe-selftest - INFO - spdx.SPDX30Check.test_kernel_config_spdx (subunit.RemotedTestCase)
2026-02-15 20:21:08,055 - oe-selftest - INFO - ... FAIL
...
2026-02-15 20:21:08,055 - oe-selftest - INFO - 4: 41/51 636/670 (135.25s) (2 failed) (spdx.SPDX30Check.test_kernel_config_spdx)
2026-02-15 20:21:08,056 - oe-selftest - INFO - testtools.testresult.real._StringException: Traceback (most recent call last):
File "/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/spdx.py", line 369, in test_kernel_config_spdx
objset = self.check_recipe_spdx(
^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/spdx.py", line 102, in check_recipe_spdx
bitbake(f"-c {task} {target_name}")
File "/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/layers/openembedded-core/meta/lib/oeqa/utils/commands.py", line 236, in bitbake
return runCmd(cmd, ignore_status, timeout, output_log=output_log, **options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/layers/openembedded-core/meta/lib/oeqa/utils/commands.py", line 214, in runCmd
raise AssertionError("Command '%s' returned non-zero exit status %d:\n%s" % (command, result.status, exc_output))
AssertionError: Command 'bitbake -c do_create_kernel_config_spdx linux-yocto' returned non-zero exit status 1:
...
Initialising tasks...ERROR: Task do_create_kernel_config_spdx does not exist for target linux-yocto (/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/layers/openembedded-core/meta/recipes-kernel/linux/linux-yocto_6.18.bb:do_create_kernel_config_spdx)
ERROR: Command execution failed: 1

https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/3329
https://autobuilder.yoctoproject.org/valkyrie/#/builders/48/builds/3096
https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/3220

Can you have a look at what is the issue?

Thanks,
Mathieu

--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering