summaryrefslogtreecommitdiffstats
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:45 +0000
commit6549f58cd6e22b4c345212237e81e68e12dfcb61 (patch)
tree6f836cd053bda6acc72941380987f4734228795b
parent34fa9f08407b5ee711e0184a0efa2030c2592bf0 (diff)
downloadpoky-6549f58cd6e22b4c345212237e81e68e12dfcb61.tar.gz
bitbake: 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. (Bitbake rev: cd06beb948eff5eaf2d474f5b127d51a61b0b2ef) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/cache.py3
-rw-r--r--bitbake/lib/bb/cooker.py1
2 files changed, 3 insertions, 1 deletions
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index f5b527ba6a..3fc097241a 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -311,7 +311,7 @@ class SiggenRecipeInfo(RecipeInfoCommon):
311 cls.restore_map[pid] = {} 311 cls.restore_map[pid] = {}
312 cls.restore_count[pid] = 1 312 cls.restore_count[pid] = 1
313 map = cls.restore_map[pid] 313 map = cls.restore_map[pid]
314 for fs, dep, mapnum in deps: 314 for dep, fs, mapnum in deps:
315 if mapnum: 315 if mapnum:
316 ret[dep] = map[mapnum] 316 ret[dep] = map[mapnum]
317 else: 317 else:
@@ -759,6 +759,7 @@ class MulticonfigCache(Mapping):
759 loaded = 0 759 loaded = 0
760 760
761 for c in self.__caches.values(): 761 for c in self.__caches.values():
762 SiggenRecipeInfo.reset()
762 loaded += c.prepare_cache(progress) 763 loaded += c.prepare_cache(progress)
763 previous_progress = current_progress 764 previous_progress = current_progress
764 765
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 48c3002ce3..b81f8e0c59 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -2226,6 +2226,7 @@ class CookerParser(object):
2226 2226
2227 def sync_caches(): 2227 def sync_caches():
2228 for c in self.bb_caches.values(): 2228 for c in self.bb_caches.values():
2229 bb.cache.SiggenRecipeInfo.reset()
2229 c.sync() 2230 c.sync()
2230 2231
2231 self.syncthread = threading.Thread(target=sync_caches, name="SyncThread") 2232 self.syncthread = threading.Thread(target=sync_caches, name="SyncThread")