bitbake: cooker: Don't expand python functions in variable dumps

We don't want to expand python functions since they aren't expanded
at execution time (e.g. anonymous python). They can also have side
effects.

This function is primarily used by toaster for variable dumps for later
display. The lack of expansion of python functions won't matter in this case
and actively helps some variable handling (e.g. SRCPV).

(Bitbake rev: 3f5520b4844a4bdd615046479ba08ed192bdc8cd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2016-02-02 13:59:52 +00:00
parent f652b6b9d0
commit e39cfb1f9c
1 changed files with 9 additions and 2 deletions

View File

@ -1429,14 +1429,21 @@ class BBCooker:
dump = {}
for k in self.data.keys():
try:
v = self.data.getVar(k, True)
expand = True
flags = self.data.getVarFlags(k)
if flags and "func" in flags and "python" in flags:
expand = False
v = self.data.getVar(k, expand)
if not k.startswith("__") and not isinstance(v, bb.data_smart.DataSmart):
dump[k] = {
'v' : v ,
'history' : self.data.varhistory.variable(k),
}
for d in flaglist:
dump[k][d] = self.data.getVarFlag(k, d)
if flags and d in flags:
dump[k][d] = flags[d]
else:
dump[k][d] = None
except Exception as e:
print(e)
return dump