summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/cache.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-04-10 10:55:48 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-05-05 15:53:09 +0100
commit001a555c2f755d4f8a69b113656d9307ca7ee597 (patch)
treee922c20761aba54b8f150cf64cfa215d27ea15d1 /bitbake/lib/bb/cache.py
parentc8928e93dd8a08d6768623f6491c9ba31d0aa06f (diff)
downloadpoky-001a555c2f755d4f8a69b113656d9307ca7ee597.tar.gz
bitbake/cache.py: Ensure skipped recipes make it into the cache to avoid reparsing
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/cache.py')
-rw-r--r--bitbake/lib/bb/cache.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index 955b400622..d083c515ed 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -129,7 +129,10 @@ class RecipeInfo(namedtuple('RecipeInfo', recipe_fields)):
129 @classmethod 129 @classmethod
130 def from_metadata(cls, filename, metadata): 130 def from_metadata(cls, filename, metadata):
131 if cls.getvar('__SKIPPED', metadata): 131 if cls.getvar('__SKIPPED', metadata):
132 return cls.make_optional(skipped=True) 132 return cls.make_optional(skipped=True,
133 file_depends=metadata.getVar('__depends', False),
134 timestamp=bb.parse.cached_mtime(filename),
135 variants=cls.listvar('__VARIANTS', metadata) + [''])
133 136
134 tasks = metadata.getVar('__BBTASKS', False) 137 tasks = metadata.getVar('__BBTASKS', False)
135 138
@@ -480,11 +483,13 @@ class Cache(object):
480 return bb.parse.cached_mtime_noerror(cachefile) 483 return bb.parse.cached_mtime_noerror(cachefile)
481 484
482 def add_info(self, filename, info, cacheData, parsed=None): 485 def add_info(self, filename, info, cacheData, parsed=None):
483 cacheData.add_from_recipeinfo(filename, info) 486 if not info.skipped:
487 cacheData.add_from_recipeinfo(filename, info)
488
484 if not self.has_cache: 489 if not self.has_cache:
485 return 490 return
486 491
487 if 'SRCREVINACTION' not in info.pv and not info.nocache: 492 if (info.skipped or 'SRCREVINACTION' not in info.pv) and not info.nocache:
488 if parsed: 493 if parsed:
489 self.cacheclean = False 494 self.cacheclean = False
490 self.depends_cache[filename] = info 495 self.depends_cache[filename] = info