diff options
author | Bob Foerster <rfoerster@layerzero.com> | 2010-11-22 10:13:56 -0500 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2011-01-04 14:46:51 +0000 |
commit | 2735a70ece44fa55282fb99e4f63c4ac269b07ac (patch) | |
tree | bca01db2dee721a0cfe8924f916d2ca16ba0a541 /bitbake/lib/bb/cache.py | |
parent | 89a1b59d9a0c2ba7ec62dad41822dd7fdd831a81 (diff) | |
download | poky-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.py | 17 |
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 | """ |