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: Nicolas Dechesne <hidden>
Date: 2021-07-22 09:35:10

hey Richard,

better late than never they say ;)

On Sat, Apr 24, 2021 at 4:26 PM Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:
quoted hunk ↗ jump to hunk
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.

         if check_bblayers(bblayersconf, layer['path'], logger):
             logger.info("%s already in %s. To capture initial
signatures, layer under test should not present "
                "in BBLAYERS. Please remove %s from BBLAYERS." %
(layer['name'], bblayersconf, layer['name']))
--
2.30.2



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