aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-12-28 13:53:22 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-12-29 00:05:36 +0000
commitcd06beb948eff5eaf2d474f5b127d51a61b0b2ef (patch)
treedb866033ad9b3b60f3403e367c8078fa80efcce3
parentb02ebbffdae27e564450446bf84c4e98d094ee4a (diff)
downloadbitbake-cd06beb948eff5eaf2d474f5b127d51a61b0b2ef.tar.gz
cache/siggen: Fix cache issues with signature handling
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>
-rw-r--r--lib/bb/cache.py3
-rw-r--r--lib/bb/cooker.py1
2 files changed, 3 insertions, 1 deletions
diff --git a/lib/bb/cache.py b/lib/bb/cache.py
index f5b527ba6..3fc097241 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 48c3002ce..b81f8e0c5 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -2226,6 +2226,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")