v3 fixes the autobuilder failure. baremetal images inherit qemuboot
via baremetal-image.bbclass but do not set KERNEL_DEPLOY_DEPEND,
causing a parse error when empty string was passed to [depends].

Fixed by guarding with a Python expression:
  do_write_qemuboot_conf[depends] += "${@d.getVar('KERNEL_DEPLOY_DEPEND')
or ''}"

Tested: 949 recipes parse cleanly with MACHINE=qemuarm, no errors.
do_write_qemuboot_conf reruns correctly after kernel rebuild on qemux86-64.

https://lists.openembedded.org/g/openembedded-core/topic/patch_v3_qemuboot_bbclass/119609347

On Tue, Jun 2, 2026 at 3:00 PM Siva Kumar Balasubramanian <
[email protected]> wrote:

> Hi Mathieu,
>
> KERNEL_DEPLOY_DEPEND is only defined in image.bbclass,
> so in baremetal recipes that don't inherit it, the variable is unset and
> [depends] += gets an empty string, causing the unpack failure.
> Fix is to add KERNEL_DEPLOY_DEPEND ?= "virtual/kernel:do_deploy" in
> qemuboot.bbclass itself, mirroring the same pattern in image.bbclass. Will
> send v3 shortly.
> Thanks for catching this.
>
> Siva
>
> On Tue, Jun 2, 2026 at 2:31 PM Mathieu Dubois-Briand <
> [email protected]> wrote:
>
>> On Mon Jun 1, 2026 at 6:59 PM CEST, Siva Balasubramanian via
>> lists.openembedded.org wrote:
>> > do_write_qemuboot_conf had no dependency on the kernel deploy task,
>> > so if the kernel was rebuilt without invalidating the rootfs sstate,
>> > the task was skipped and .qemuboot.conf was left stale while new
>> > image artifacts were deployed with a new timestamp suffix.
>> >
>> > Add do_write_qemuboot_conf[depends] on KERNEL_DEPLOY_DEPEND, which
>> > is the same variable used by do_build[depends] in image.bbclass for
>> > the same reason. Since KERNEL_DEPLOY_DEPEND is defined with ?= it
>> > correctly handles firmware and baremetal images that override it to
>> > their own deploy target.
>> >
>> > Fixes: https://bugzilla.yoctoproject.org/show_bug.cgi?id=14520
>> > Signed-off-by: Siva Balasubramanian <[email protected]>
>> > ---
>> >  meta/classes-recipe/qemuboot.bbclass | 1 +
>> >  1 file changed, 1 insertion(+)
>> >
>> > diff --git a/meta/classes-recipe/qemuboot.bbclass
>> b/meta/classes-recipe/qemuboot.bbclass
>> > index 56106b1958..db971d50bd 100644
>> > --- a/meta/classes-recipe/qemuboot.bbclass
>> > +++ b/meta/classes-recipe/qemuboot.bbclass
>> > @@ -128,6 +128,7 @@ inherit image-artifact-names
>> >
>> >  # Create qemuboot.conf
>> >  addtask do_write_qemuboot_conf after do_rootfs before do_image
>> > +do_write_qemuboot_conf[depends] += "${KERNEL_DEPLOY_DEPEND}"
>> >
>> >  def qemuboot_vars(d):
>> >      build_vars = ['MACHINE', 'TUNE_ARCH', 'DEPLOY_DIR_IMAGE',
>>
>> So I struggle to understand why, but it looks lie this patch is
>> responsible of this error on the autobuilder:
>>
>> Parsing recipes...ERROR: Unable to parse
>> /srv/pokybuild/yocto-worker/a-full/build/layers/openembedded-core/meta/recipes-extended/baremetal-example/
>> baremetal-helloworld_git.bb
>> Traceback (most recent call last):
>>   File
>> "/srv/pokybuild/yocto-worker/a-full/build/layers/bitbake/lib/bb/cooker.py",
>> line 2334, in parse_next
>>     raise result
>> ValueError: not enough values to unpack (expected 2, got 1)
>>
>> ERROR: Parsing halted due to errors, see error messages above
>>
>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/3909
>>
>> Any clue about what might be wrong is welcome.
>>
>> Thanks,
>> Mathieu
>>
>> --
>> Mathieu Dubois-Briand, Bootlin
>> Embedded Linux and Kernel engineering
>> https://bootlin.com
>>
>>
>
> --
>
> Sivakumar B
>


-- 

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

Reply via email to