]> code.ossystems Code Review - openembedded-core.git/commitdiff
yocto-check-layer: Avoid bug when iterating and autoadding dependencies
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 24 Apr 2021 14:23:54 +0000 (15:23 +0100)
committerAnuj Mittal <anuj.mittal@intel.com>
Fri, 30 Apr 2021 14:54:49 +0000 (22:54 +0800)
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 <richard.purdie@linuxfoundation.org>
(cherry picked from commit bf1b467dacf345379cd5d84a1c9b3b0d844d5c91)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
scripts/yocto-check-layer

index b7c83c8b543727ecf15f0de9e63f7cc1c4226ab6..deba3cb4f8c912b668edf767902cec2187b122a2 100755 (executable)
@@ -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)
+
         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']))