diff mbox series

cache/siggen: Fix cache issues with signature handling

Message ID 20221229000446.846258-1-richard.purdie@linuxfoundation.org
State Accepted, archived
Commit cd06beb948eff5eaf2d474f5b127d51a61b0b2ef
Headers show
Series cache/siggen: Fix cache issues with signature handling | expand

Commit Message

Richard Purdie Dec. 29, 2022, 12:04 a.m. UTC
There is a bug in the current cache code where the restored data structures
were "inverted" leading to some very weird issues, not sure how anything worked
like that, this patch fixes it.

Also fix some issues with multiconfig cache ordering problems by resetting
the stream counters when appropriate.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 lib/bb/cache.py  | 3 ++-
 lib/bb/cooker.py | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/lib/bb/cache.py b/lib/bb/cache.py
index f5b527ba6a..3fc097241a 100644
--- a/lib/bb/cache.py
+++ b/lib/bb/cache.py
@@ -311,7 +311,7 @@  class SiggenRecipeInfo(RecipeInfoCommon):
             cls.restore_map[pid] = {}
             cls.restore_count[pid] = 1
         map = cls.restore_map[pid]
-        for fs, dep, mapnum in deps:
+        for dep, fs, mapnum in deps:
             if mapnum:
                 ret[dep] = map[mapnum]
             else:
@@ -759,6 +759,7 @@  class MulticonfigCache(Mapping):
         loaded = 0
 
         for c in self.__caches.values():
+            SiggenRecipeInfo.reset()
             loaded += c.prepare_cache(progress)
             previous_progress = current_progress
 
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 88c97c5e4a..14440f1647 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -2240,6 +2240,7 @@  class CookerParser(object):
 
         def sync_caches():
             for c in self.bb_caches.values():
+                bb.cache.SiggenRecipeInfo.reset()
                 c.sync()
 
         self.syncthread = threading.Thread(target=sync_caches, name="SyncThread")