summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/cache.py
diff options
context:
space:
mode:
authorBob Foerster <rfoerster@layerzero.com>2010-11-22 10:13:56 -0500
committerRichard Purdie <rpurdie@linux.intel.com>2011-01-04 14:46:51 +0000
commit2735a70ece44fa55282fb99e4f63c4ac269b07ac (patch)
treebca01db2dee721a0cfe8924f916d2ca16ba0a541 /bitbake/lib/bb/cache.py
parent89a1b59d9a0c2ba7ec62dad41822dd7fdd831a81 (diff)
downloadpoky-2735a70ece44fa55282fb99e4f63c4ac269b07ac.tar.gz
Show the user progress when loading the cache
(Bitbake rev: bdd7813d8eecf7b6b636322e748ca6bf69118513) Signed-off-by: Bob Foerster <robert@erafx.com> Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
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 """