Thread (3 messages) 3 messages, 2 authors, 2021-07-22

Re: [OE-core] [PATCH] yocto-check-layer: Avoid bug when iterating and autoadding dependencies

From: Richard Purdie <hidden>
Date: 2021-07-22 09:54:50

On Thu, 2021-07-22 at 11:34 +0200, Nicolas Dechesne wrote:
hey Richard,

better late than never they say ;) 

On Sat, Apr 24, 2021 at 4:26 PM Richard Purdie [off-list ref] wrote:
quoted
If iterating a layer with multiple components and auto-adding dependencies
the tests can break since layers are never removed and order isn't guaranteed
to account for that.

Fix this by resetting the layer list back to the original list each time
before auto-adding the dependencies in each case.

This fixes scanning of meta-openembedded in particular where the sublayers
may not be added in order of minimal dependency.

Signed-off-by: Richard Purdie <redacted>
---
 scripts/yocto-check-layer | 3 +++
 1 file changed, 3 insertions(+)
diff --git a/scripts/yocto-check-layer b/scripts/yocto-check-layer
index b7c83c8b543..deba3cb4f8c 100755
--- a/scripts/yocto-check-layer
+++ b/scripts/yocto-check-layer
@@ -138,6 +138,9 @@ def main():
                 layer['type'] == LayerType.ERROR_BSP_DISTRO:
             continue

+        # Reset to a clean backup copy for each run
+        shutil.copyfile(bblayersconf + '.backup', bblayersconf)
+

I was spending some time in yocto-check-layer, and noticed this patch. You have 
the exact same statement 10 lines later. I think this patch should have moved the 
statement before the call to check_bblayers() instead of duplicating it. And I 
think this patch is a fix for a problem introduced in be02e8dbfb0d (checklayer: 
check layer in BBLAYERS before test).

I can send a patch to remove the duplicate statement, or if simpler for you, you 
can do it directly. 
I've queued and sent out a patch, well spotted, thanks!

Cheers,

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