summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/cache.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/cache.py')
-rw-r--r--bitbake/lib/bb/cache.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index b3c632b81c..fb02deb8ef 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -204,14 +204,31 @@ class Cache(object):
204 logger.info('Bitbake version mismatch, rebuilding...') 204 logger.info('Bitbake version mismatch, rebuilding...')
205 return 205 return
206 206
207 cachesize = os.fstat(cachefile.fileno()).st_size
208 bb.event.fire(bb.event.CacheLoadStarted(cachesize), self.data)
209
210 previous_percent = 0
207 while cachefile: 211 while cachefile:
208 try: 212 try:
209 key = pickled.load() 213 key = pickled.load()
210 value = pickled.load() 214 value = pickled.load()
211 except Exception: 215 except Exception:
212 break 216 break
217
213 self.depends_cache[key] = value 218 self.depends_cache[key] = value
214 219
220 # only fire events on even percentage boundaries
221 current_progress = cachefile.tell()
222 current_percent = 100 * current_progress / cachesize
223 if current_percent > previous_percent:
224 previous_percent = current_percent
225 bb.event.fire(bb.event.CacheLoadProgress(current_progress),
226 self.data)
227
228 bb.event.fire(bb.event.CacheLoadCompleted(cachesize,
229 len(self.depends_cache)),
230 self.data)
231
215 @staticmethod 232 @staticmethod
216 def virtualfn2realfn(virtualfn): 233 def virtualfn2realfn(virtualfn):
217 """ 234 """