From 6610cad12a062592956257961a790ec6a3012b8b Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 13 Mar 2025 13:20:45 +0000 Subject: [PATCH] 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 --- bitbake/lib/bb/data_smart.py | 5 +++++ 1 file changed, 5 insertions(+) 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): value = d.getVar(i, False) or "" data.update({i:value}) + moddeps = bb.codeparser.modulecode_deps + for dep in sorted(moddeps): + # Ignore visitor code, sort sets + data.update({'moddep[%s]' % dep : [sorted(moddeps[dep][0]), sorted(moddeps[dep][1]), sorted(moddeps[dep][2]), sorted(moddeps[dep][3]), moddeps[dep][4]]}) + data_str = str([(k, data[k]) for k in sorted(data.keys())]) return hashlib.sha256(data_str.encode("utf-8")).hexdigest()