summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2025-03-13 13:20:45 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-03-13 21:21:04 +0000
commit6610cad12a062592956257961a790ec6a3012b8b (patch)
tree258c63fec9f6fa587d231974f508569c78e58018
parenta4f833698289da86138fd4a401331baa563b5eed (diff)
downloadpoky-6610cad12a062592956257961a790ec6a3012b8b.tar.gz
bitbake: data_smart: Ensure module dependency changes invalidate the base config cache
Changing module files was changing the tash hashes but it was not invalidating the parse cache, leading to tashhash mismatch errors during builds. Add information from modulecode_deps to the configuration hash used for cache invalidation to avoid this and trigger reparses when function library code changes. [YOCTO #15795] (Bitbake rev: a121db3d8d28420c36369237b8bb11c2d0aaf5f7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/data_smart.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py
index 360068fd0a..8e7dd98384 100644
--- a/bitbake/lib/bb/data_smart.py
+++ b/bitbake/lib/bb/data_smart.py
@@ -1120,5 +1120,10 @@ class DataSmart(MutableMapping):
1120 value = d.getVar(i, False) or "" 1120 value = d.getVar(i, False) or ""
1121 data.update({i:value}) 1121 data.update({i:value})
1122 1122
1123 moddeps = bb.codeparser.modulecode_deps
1124 for dep in sorted(moddeps):
1125 # Ignore visitor code, sort sets
1126 data.update({'moddep[%s]' % dep : [sorted(moddeps[dep][0]), sorted(moddeps[dep][1]), sorted(moddeps[dep][2]), sorted(moddeps[dep][3]), moddeps[dep][4]]})
1127
1123 data_str = str([(k, data[k]) for k in sorted(data.keys())]) 1128 data_str = str([(k, data[k]) for k in sorted(data.keys())])
1124 return hashlib.sha256(data_str.encode("utf-8")).hexdigest() 1129 return hashlib.sha256(data_str.encode("utf-8")).hexdigest()