From dd36930f3f37b2e0e1258de28ac1b1fa99cf196f Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 12 Sep 2013 13:06:22 +0000 Subject: [PATCH] bitbake: data_smart: Account for changes in append/prepend/remove in the config hash bitbake wasn't reparsing when _remove items were added to its configuration and equally, appends/prepends were also being badly tracked. This change enrures these variables are accounted for in the configuration hash. [YOCTO #5172] (Bitbake rev: 62914f9208ef2427a34daa523af857f4027900eb) Signed-off-by: Richard Purdie --- bitbake/lib/bb/data_smart.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py index 20e33a4870..635b259830 100644 --- a/bitbake/lib/bb/data_smart.py +++ b/bitbake/lib/bb/data_smart.py @@ -635,13 +635,13 @@ class DataSmart(MutableMapping): self.varhistory.record(**loginfo) self.dict[var][i] = flags[i] - def getVarFlags(self, var): + def getVarFlags(self, var, internalflags=False): local_var = self._findVar(var) flags = {} if local_var: for i in local_var: - if i.startswith("_"): + if i.startswith("_") and not internalflags: continue flags[i] = local_var[i] @@ -750,13 +750,16 @@ class DataSmart(MutableMapping): for key in keys: if key in config_whitelist: continue + value = d.getVar(key, False) or "" data.update({key:value}) - varflags = d.getVarFlags(key) + varflags = d.getVarFlags(key, internalflags = True) if not varflags: continue for f in varflags: + if f == "_content": + continue data.update({'%s[%s]' % (key, f):varflags[f]}) for key in ["__BBTASKS", "__BBANONFUNCS", "__BBHANDLERS"]: