aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bb/data_smart.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2020-04-07 15:07:21 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-04-24 14:31:30 +0100
commit1a8bcfc1eb89ccff834ba68fb514330b510976a2 (patch)
treeb45fad285353b0057cd40a12105025eb360589ad /lib/bb/data_smart.py
parentc07f374998903359ed55f263c86466d05aa39b68 (diff)
downloadbitbake-1a8bcfc1eb89ccff834ba68fb514330b510976a2.tar.gz
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] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/data_smart.py')
-rw-r--r--lib/bb/data_smart.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py
index 70257ab7f..7f1b6dcb4 100644
--- a/lib/bb/data_smart.py
+++ b/lib/bb/data_smart.py
@@ -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: