1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-30 12:29:55 +00:00

Simplify cache syncing

Rather than adding nocache items to the cache, then copying the cache and
removing them to sync it, don't add them in the first place.  Also use 'with'
for the cachefile.

(Bitbake rev: 343b6f6255ad020c39e30742175a241f0859a5a6)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
Chris Larson
2010-11-18 22:28:09 -07:00
committed by Richard Purdie
parent 9ffbd9fe27
commit 95d2f56126
+11 -20
View File
@@ -402,22 +402,15 @@ class Cache(object):
logger.debug(2, "Cache is clean, not saving.")
return
version_data = {}
version_data['CACHE_VER'] = __cache_version__
version_data['BITBAKE_VER'] = bb.__version__
version_data = {
'CACHE_VER': __cache_version__,
'BITBAKE_VER': bb.__version__,
}
cache_data = dict(self.depends_cache)
for fn, info in self.depends_cache.iteritems():
if info.nocache:
logger.debug(2, "Not caching %s, marked as not cacheable", fn)
del cache_data[fn]
elif info.pv and 'SRCREVINACTION' in info.pv:
logger.error("Not caching %s as it had SRCREVINACTION in PV. "
"Please report this bug", fn)
del cache_data[fn]
with open(self.cachefile, "wb") as cachefile:
pickle.Pickler(cachefile, -1).dump([self.depends_cache,
version_data])
p = pickle.Pickler(file(self.cachefile, "wb"), -1)
p.dump([cache_data, version_data])
del self.depends_cache
@staticmethod
@@ -425,13 +418,11 @@ class Cache(object):
return bb.parse.cached_mtime_noerror(cachefile)
def add_info(self, filename, info, cacheData, parsed=None):
self.depends_cache[filename] = info
cacheData.add_from_recipeinfo(filename, info)
if parsed and not info.nocache:
# The recipe was parsed, and is not marked as being
# uncacheable, so we need to ensure that we write out the
# new cache data.
self.cacheclean = False
if 'SRCREVINACTION' not in info.pv and not info.nocache:
if parsed:
self.cacheclean = False
self.depends_cache[filename] = info
def add(self, file_name, data, cacheData, parsed=None):
"""