[bitbake-devel] [PATCH 2/2] depexp: fix the progressbar

Bartosz 'mastier' Woronicz mastier at mastier.pl
Mon Jun 13 12:16:08 UTC 2016


Signed-off-by: Bartosz 'mastier' Woronicz <mastier at mastier.pl>
---
 bitbake/lib/bb/ui/depexp.py | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/bitbake/lib/bb/ui/depexp.py b/bitbake/lib/bb/ui/depexp.py
index 6a6bfd5..2903e43 100644
--- a/bitbake/lib/bb/ui/depexp.py
+++ b/bitbake/lib/bb/ui/depexp.py
@@ -264,7 +264,6 @@ def main(server, eventHandler, params):
                 continue
 
             if isinstance(event, bb.event.CacheLoadCompleted):
-                bardialog.hide()
                 continue
 
             if isinstance(event, bb.event.ParseStarted):
@@ -274,7 +273,6 @@ def main(server, eventHandler, params):
                 gtk.gdk.threads_enter()
                 pbar.update(0)
                 bardialog.set_title("Processing recipes")
-
                 gtk.gdk.threads_leave()
 
             if isinstance(event, bb.event.ParseProgress):
@@ -286,13 +284,31 @@ def main(server, eventHandler, params):
                 continue
 
             if isinstance(event, bb.event.ParseCompleted):
-                bardialog.hide()
+                continue
+
+            if isinstance(event, bb.event.TreeDataPreparationStarted):
+                gtk.gdk.threads_enter()
+                pbar.update(0)
+                bardialog.set_title("Processing tree data")
+                gtk.gdk.threads_leave()
+                continue
+
+            if isinstance(event, bb.event.TreeDataPreparationProgress):
+                x = event.current
+                gtk.gdk.threads_enter()
+                pbar.update(x * 1.0 / event.total)
+                pbar.set_title('')
+                gtk.gdk.threads_leave()
+                continue
+
+            if isinstance(event, bb.event.TreeDataPreparationCompleted):
                 continue
 
             if isinstance(event, bb.event.DepTreeGenerated):
                 gtk.gdk.threads_enter()
                 dep.parse(event._depgraph)
                 gtk.gdk.threads_leave()
+                bardialog.hide()
 
             if isinstance(event, bb.command.CommandCompleted):
                 continue
-- 
2.7.4




More information about the bitbake-devel mailing list