From 30216c65e59e7072bed5001598240dcc58017940 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Fri, 4 Jun 2010 14:04:40 +0200 Subject: [PATCH] cache: use a set() for __depends to make updating depends easier/more intuitive/eventually faster (Bitbake rev: f7c69462b8ba726861898817cc5b13174c78e35a) Signed-off-by: Bernhard Reutner-Fischer Signed-off-by: Chris Larson Signed-off-by: Richard Purdie --- bitbake/lib/bb/cache.py | 10 ++++------ bitbake/lib/bb/parse/__init__.py | 4 ++-- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py index 8c1e6922fb..59ea8cfc7b 100644 --- a/bitbake/lib/bb/cache.py +++ b/bitbake/lib/bb/cache.py @@ -106,8 +106,7 @@ class Cache: if fn in self.clean: return self.depends_cache[fn][var] - if not fn in self.depends_cache: - self.depends_cache[fn] = {} + self.depends_cache.setdefault(fn, {}) if fn != self.data_fn: # We're trying to access data in the cache which doesn't exist @@ -131,13 +130,12 @@ class Cache: # Make sure __depends makes the depends_cache # If we're a virtual class we need to make sure all our depends are appended # to the depends of fn. - depends = self.getVar("__depends", virtualfn) or [] + depends = self.getVar("__depends", virtualfn) or set() self.depends_cache.setdefault(fn, {}) if "__depends" not in self.depends_cache[fn] or not self.depends_cache[fn]["__depends"]: self.depends_cache[fn]["__depends"] = depends - for dep in depends: - if dep not in self.depends_cache[fn]["__depends"]: - self.depends_cache[fn]["__depends"].append(dep) + else: + self.depends_cache[fn]["__depends"].update(depends) # Make sure the variants always make it into the cache too self.getVar('__VARIANTS', virtualfn, True) diff --git a/bitbake/lib/bb/parse/__init__.py b/bitbake/lib/bb/parse/__init__.py index fc06841d3f..95f372b00b 100644 --- a/bitbake/lib/bb/parse/__init__.py +++ b/bitbake/lib/bb/parse/__init__.py @@ -56,8 +56,8 @@ def update_mtime(f): def mark_dependency(d, f): if f.startswith('./'): f = "%s/%s" % (os.getcwd(), f[2:]) - deps = bb.data.getVar('__depends', d) or [] - deps.append( (f, cached_mtime(f)) ) + deps = bb.data.getVar('__depends', d) or set() + deps.update([(f, cached_mtime(f))]) bb.data.setVar('__depends', deps, d) def supports(fn, data):