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>
This commit is contained in:
Richard Purdie 2025-03-13 13:20:45 +00:00
parent a4f8336982
commit 6610cad12a

View File

@ -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()