From e39cfb1f9c491a1b8bc5730b83616ec56e3a6c64 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 2 Feb 2016 13:59:52 +0000 Subject: 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 --- bitbake/lib/bb/cooker.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index bc02207600..d990b05874 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -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 -- cgit v1.2.3-54-g00ecf