Thread (10 messages) 10 messages, 5 authors, 2021-06-23

Re: [OE-core][PATCH 1/2] kernel.bbclass: run read_package_metadata only if packaging is enabled

From: Andrea Adami <hidden>
Date: 2021-06-22 22:59:37

On Wed, Jun 23, 2021 at 12:52 AM Richard Purdie
[off-list ref] wrote:
On Wed, 2021-06-23 at 00:18 +0200, Andrea Adami wrote:
quoted
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?
Well, yes.
It is linux-kexecboot from meta-handheld.
Pls see comments in message 153000.

The razor is
https://git.openembedded.org/openembedded-core/tree/meta/classes/packagedata.bbclass#n22

Cheers
A.A.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help