mirror of
https://git.yoctoproject.org/poky
synced 2026-06-01 13:09:50 +00:00
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>
This commit is contained in:
committed by
Richard Purdie
parent
89a1b59d9a
commit
2735a70ece
@@ -31,12 +31,14 @@ from bb import ui
|
||||
from bb.ui import uihelper
|
||||
|
||||
logger = logging.getLogger("BitBake")
|
||||
widgets = [progressbar.Percentage(), ' ', progressbar.Bar(), ' ',
|
||||
progressbar.ETA()]
|
||||
interactive = sys.stdout.isatty()
|
||||
|
||||
class BBProgress(progressbar.ProgressBar):
|
||||
def __init__(self, msg, maxval):
|
||||
self.msg = msg
|
||||
widgets = [progressbar.Percentage(), ' ', progressbar.Bar(), ' ',
|
||||
progressbar.ETA()]
|
||||
|
||||
progressbar.ProgressBar.__init__(self, maxval, [self.msg + ": "] + widgets)
|
||||
|
||||
class NonInteractiveProgress(object):
|
||||
@@ -58,6 +60,12 @@ class NonInteractiveProgress(object):
|
||||
self.fobj.write("done.\n")
|
||||
self.fobj.flush()
|
||||
|
||||
def new_progress(msg, maxval):
|
||||
if interactive:
|
||||
return BBProgress(msg, maxval)
|
||||
else:
|
||||
return NonInteractiveProgress(msg, maxval)
|
||||
|
||||
def main(server, eventHandler):
|
||||
|
||||
# Get values of variables which control our output
|
||||
@@ -93,8 +101,9 @@ def main(server, eventHandler):
|
||||
print("XMLRPC Fault getting commandline:\n %s" % x)
|
||||
return 1
|
||||
|
||||
|
||||
parseprogress = None
|
||||
interactive = os.isatty(sys.stdout.fileno())
|
||||
cacheprogress = None
|
||||
shutdown = 0
|
||||
return_value = 0
|
||||
while True:
|
||||
@@ -149,11 +158,7 @@ def main(server, eventHandler):
|
||||
logger.info(event._message)
|
||||
continue
|
||||
if isinstance(event, bb.event.ParseStarted):
|
||||
if interactive:
|
||||
progress = BBProgress
|
||||
else:
|
||||
progress = NonInteractiveProgress
|
||||
parseprogress = progress("Parsing recipes", event.total).start()
|
||||
parseprogress = new_progress("Parsing recipes", event.total).start()
|
||||
continue
|
||||
if isinstance(event, bb.event.ParseProgress):
|
||||
parseprogress.update(event.current)
|
||||
@@ -164,6 +169,17 @@ def main(server, eventHandler):
|
||||
% ( event.total, event.cached, event.parsed, event.virtuals, event.skipped, event.masked, event.errors)))
|
||||
continue
|
||||
|
||||
if isinstance(event, bb.event.CacheLoadStarted):
|
||||
cacheprogress = new_progress("Loading cache", event.total).start()
|
||||
continue
|
||||
if isinstance(event, bb.event.CacheLoadProgress):
|
||||
cacheprogress.update(event.current)
|
||||
continue
|
||||
if isinstance(event, bb.event.CacheLoadCompleted):
|
||||
cacheprogress.finish()
|
||||
print("Loaded %d entries from dependency cache." % event.num_entries)
|
||||
continue
|
||||
|
||||
if isinstance(event, bb.command.CommandCompleted):
|
||||
break
|
||||
if isinstance(event, bb.command.CommandFailed):
|
||||
|
||||
Reference in New Issue
Block a user