From: Bruce Ashfield <bruce.ashfield@gmail.com>
To: Vinicius Pedrosa <vinicius.eduardo.pedrosa@gmail.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] kernel.bbclass: add gzip-native to DEPENDS
Date: Thu, 29 Oct 2026 06:11:33 -0700 (PDT) [thread overview]
Message-ID: <6ae34605.b3f5340a.13d355.bf9a@mx.google.com> (raw)
In-Reply-To: <20261029124742.3223868-1-vinicius.eduardo.pedrosa@gmail.com>
On Thu, Oct 29, 2026 at 8:47 AM Vinicius Pedrosa <vinicius.eduardo.pedrosa@gmail.com> wrote:
>
> gzip-native is only in do_deploy[depends]. On a fresh work directory,
> do_compile runs the host gzip to create kernel/config_data.gz and,
> with CONFIG_KERNEL_GZIP, the compressed kernel payload.
>
> do_unpack cleans ${B} but not the recipe sysroot. After do_deploy has
> run once, a rebuild from do_unpack picks up pigz from gzip-native
> instead. Same .config, same uncompressed IKCONFIG data, but
> config_data.gz and the kernel image come out different.
>
> Add gzip-native to DEPENDS so the same compressor is used from the
> first do_compile.
>
[...]
>
> Bruce, you sent "[8/8] linux-yocto: add gzip-native to DEPENDS" in
> 2023 (patchwork 29990) and withdrew it. This one puts the dependency
> in the class instead.
For the record, I withdrew that one because the motivation didn't hold
up. I was chasing a "gzip: abort: zlib version less than 1.2.3" failure
in do_compile. Richard pointed out that it looked like a stale zlib in
the sysroot that an existing kernel build didn't notice, rather than a
missing dependency. That made sense, so I dropped it and carried it
locally to see if it came back (it didn't).
Your reason is different, and a better one: the task-level dependency
from do_deploy leaks into do_compile through the recipe sysroot, so the
compressor (and the output) depends on whether do_deploy has already
run.
Class vs linux-yocto.inc is a wash, but having it in the class is
of course preferable.
>
> meta/classes-recipe/kernel.bbclass | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes-recipe/kernel.bbclass b/meta/classes-recipe/kernel.bbclass
> index 0a6d754..99d652b 100644
> --- a/meta/classes-recipe/kernel.bbclass
> +++ b/meta/classes-recipe/kernel.bbclass
> @@ -19,7 +19,7 @@ KERNEL_PACKAGE_NAME ??= "kernel"
> KERNEL_DEPLOYSUBDIR ??= "${@ "" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel") else d.getVar("KERNEL_PACKAGE_NAME") }"
>
> PROVIDES += "virtual/kernel"
> -DEPENDS += "virtual/cross-binutils virtual/cross-cc kmod-native bc-native bison-native"
> +DEPENDS += "virtual/cross-binutils virtual/cross-cc kmod-native bc-native bison-native gzip-native"
With this in DEPENDS, the gzip-native entry in do_deploy[depends] is now
redundant. It doesn't hurt anything, so either drop it in a v2 or leave
it. Up to you.
Acked-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Bruce
prev parent reply other threads:[~2026-10-29 13:11 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-29 12:47 [PATCH] kernel.bbclass: add gzip-native to DEPENDS Vinicius Pedrosa
2026-10-29 13:11 ` Bruce Ashfield [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6ae34605.b3f5340a.13d355.bf9a@mx.google.com \
--to=bruce.ashfield@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=vinicius.eduardo.pedrosa@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.