Re: [OE-core][PATCH 1/2] kernel.bbclass: run read_package_metadata only if packaging is enabled
From: Richard Purdie <hidden>
Date: 2021-06-22 22:52:09
On Wed, 2021-06-23 at 00:18 +0200, Andrea Adami wrote:
quoted hunk ↗ jump to hunk
As exposed in the ML https://lists.openembedded.org/g/openembedded-core/message/153000 up to commit 86142da in Gatesgarth it was possible to build a second mini-kernel w/out modules to be just deployed and collected by other recipes. These kernels use special care to avoid packaging: inherit nopackages PACKAGES = "" PROVIDES = "" Now the change in kernel.bblass calls a packaging routine: do_deploy[prefuncs] += "read_subpackage_metadata" As a result the kernel build fails. Fix this using bb.data.inherits_class() to verify the possible previous inherit of nopackages.bbclass. Signed-off-by: Andrea Adami <redacted> --- meta/classes/kernel.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 379bed44f2..06e6446a08 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass@@ -771,8 +771,8 @@ kernel_do_deploy() {} # We deploy to filenames that include PKGV and PKGR, read the saved data to -# ensure we get the right values for both -do_deploy[prefuncs] += "read_subpackage_metadata" +# ensure we get the right values for both. Do this only if packaging is enabled. +do_deploy[prefuncs] += "${@ '' if bb.data.inherits_class('nopackages', d) else 'read_subpackage_metadata' }" addtask deploy after do_populate_sysroot do_packagedata
I'm not convinced this is the right fix. Which values is that function finding and reading which cause problems? It sounds like there is a deeper issue here that should be fixed instead... Is there a simple reproducer for this on master? Cheers, Richard