[bitbake-devel,1/1] data_smart.py: Uses BB_HASHCONFIG_WHITELIST to filter unnecessary variables
Submitted by Dongxiao Xu on Feb. 27, 2012, 2:37 p.m.
|
Patch ID: 22141
Details
Commit Message
@@ -463,20 +463,12 @@ class DataSmart(MutableMapping):
def get_hash(self):
data = ""
- keys = iter(self)
+ config_whitelist = set((self.getVar("BB_HASHCONFIG_WHITELIST", True) or "").split())
+ keys = set(key for key in iter(self) if not key.startswith("__"))
for key in keys:
- if key in ["TIME", "DATE"]:
+ if key in config_whitelist:
continue
- if key == "__depends":
- deps = list(self.getVar(key, False))
- deps.sort()
- value = [deps[i][0] for i in range(len(deps))]
- elif key == "PATH":
- path = list(set(self.getVar(key, False).split(':')))
- path.sort()
- value = " ".join(path)
- else:
- value = self.getVar(key, False) or ""
+ value = self.getVar(key, False) or ""
data = data + key + ': ' + str(value) + '\n'
return hashlib.md5(data).hexdigest()
Adopt the BB_HASHCONFIG_WHITELIST as a exclusion list for variables that are not needed in cache hash calculation. Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> CC: Christopher Larson <kergoth@gmail.com> CC: Martin Jansa <martin.jansa@gmail.com> CC: Andreas Oberritter <obi@opendreambox.org> --- lib/bb/data_smart.py | 16 ++++------------ 1 files changed, 4 insertions(+), 12 deletions(-)