* [PATCH v2] qemuboot.bbclass: add missing task dependency on kernel deploy
@ 2026-06-01 16:59 Siva Balasubramanian
2026-06-02 9:01 ` [OE-core] " Mathieu Dubois-Briand
0 siblings, 1 reply; 4+ messages in thread
From: Siva Balasubramanian @ 2026-06-01 16:59 UTC (permalink / raw)
To: openembedded-core; +Cc: Siva Balasubramanian
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 <sivakumar.bs@gmail.com>
---
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',
--
2.34.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [OE-core] [PATCH v2] qemuboot.bbclass: add missing task dependency on kernel deploy
2026-06-01 16:59 [PATCH v2] qemuboot.bbclass: add missing task dependency on kernel deploy Siva Balasubramanian
@ 2026-06-02 9:01 ` Mathieu Dubois-Briand
2026-06-02 9:30 ` Siva Kumar Balasubramanian
0 siblings, 1 reply; 4+ messages in thread
From: Mathieu Dubois-Briand @ 2026-06-02 9:01 UTC (permalink / raw)
To: sivakumar.bs, openembedded-core
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 <sivakumar.bs@gmail.com>
> ---
> 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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [OE-core] [PATCH v2] qemuboot.bbclass: add missing task dependency on kernel deploy
2026-06-02 9:01 ` [OE-core] " Mathieu Dubois-Briand
@ 2026-06-02 9:30 ` Siva Kumar Balasubramanian
2026-06-02 11:43 ` Siva Kumar Balasubramanian
0 siblings, 1 reply; 4+ messages in thread
From: Siva Kumar Balasubramanian @ 2026-06-02 9:30 UTC (permalink / raw)
To: Mathieu Dubois-Briand; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 2916 bytes --]
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 <
mathieu.dubois-briand@bootlin.com> 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 <sivakumar.bs@gmail.com>
> > ---
> > 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
[-- Attachment #2: Type: text/html, Size: 4538 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [OE-core] [PATCH v2] qemuboot.bbclass: add missing task dependency on kernel deploy
2026-06-02 9:30 ` Siva Kumar Balasubramanian
@ 2026-06-02 11:43 ` Siva Kumar Balasubramanian
0 siblings, 0 replies; 4+ messages in thread
From: Siva Kumar Balasubramanian @ 2026-06-02 11:43 UTC (permalink / raw)
To: Mathieu Dubois-Briand; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 3709 bytes --]
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 <
sivakumar.bs@gmail.com> 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 <
> mathieu.dubois-briand@bootlin.com> 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 <sivakumar.bs@gmail.com>
>> > ---
>> > 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
[-- Attachment #2: Type: text/html, Size: 5980 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-06-02 11:44 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-01 16:59 [PATCH v2] qemuboot.bbclass: add missing task dependency on kernel deploy Siva Balasubramanian
2026-06-02 9:01 ` [OE-core] " Mathieu Dubois-Briand
2026-06-02 9:30 ` Siva Kumar Balasubramanian
2026-06-02 11:43 ` Siva Kumar Balasubramanian
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox