bitbake: data_smart: Handle hashing of datastores within datastores correctly

If there is a datastore within a datastore (e.g. BB_ORIGENV) then
get-hash() doesn;t correclty handle the contents using the memory
address instead of the contents.

This is a patch from dominik.jaeger@nokia.com which addresses
this problem. Its been low priority since we don't include
BB_ORIGENV anywhere this would cause an issue as standard.

[YOCTO #12473]

(Bitbake rev: 1a8bcfc1eb89ccff834ba68fb514330b510976a2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2020-04-07 15:07:21 +01:00
parent 9062a225aa
commit 5e44568d90

View File

@@ -1000,7 +1000,10 @@ class DataSmart(MutableMapping):
continue
value = d.getVar(key, False) or ""
data.update({key:value})
if type(value) is type(self):
data.update({key:value.get_hash()})
else:
data.update({key:value})
varflags = d.getVarFlags(key, internalflags = True)
if not varflags: