diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-03-13 13:20:45 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-03-13 21:21:04 +0000 |
commit | 6610cad12a062592956257961a790ec6a3012b8b (patch) | |
tree | 258c63fec9f6fa587d231974f508569c78e58018 | |
parent | a4f833698289da86138fd4a401331baa563b5eed (diff) | |
download | poky-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.py | 5 |
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() |