[bitbake-devel] [master][zeus][PATCH] uihelper: Track scene tasks again

Peter Kjellerstedt pkj at axis.com
Sun Feb 9 08:50:34 UTC 2020


Track both scene tasks and run tasks to provide a complete progress
information for all tasks. This avoids the progress bar from stating
"Currently XX running tasks (0 of 0)" while progressing through
thousands of setscene tasks, obviously confusing the user.

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
---
 bitbake/lib/bb/ui/uihelper.py | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/bitbake/lib/bb/ui/uihelper.py b/bitbake/lib/bb/ui/uihelper.py
index 48d808ae28..ac4ac5a882 100644
--- a/bitbake/lib/bb/ui/uihelper.py
+++ b/bitbake/lib/bb/ui/uihelper.py
@@ -16,6 +16,10 @@ class BBUIHelper:
         self.running_pids = []
         self.failed_tasks = []
         self.pidmap = {}
+        self.scenetasks_current = 0
+        self.scenetasks_total = 0
+        self.runtasks_current = 0
+        self.runtasks_total = 0
         self.tasknumber_current = 0
         self.tasknumber_total = 0
 
@@ -49,9 +53,17 @@ class BBUIHelper:
             tid = event._fn + ":" + event._task
             removetid(event.pid, tid)
             self.failed_tasks.append( { 'title' : "%s %s" % (event._package, event._task)})
+        elif isinstance(event, bb.runqueue.sceneQueueTaskStarted):
+            self.scenetasks_current = event.stats.completed + event.stats.active + event.stats.failed + 1
+            self.scenetasks_total = event.stats.total
+            self.tasknumber_current = self.scenetasks_current + self.runtasks_current
+            self.tasknumber_total = self.scenetasks_total + self.runtasks_total
+            self.needUpdate = True
         elif isinstance(event, bb.runqueue.runQueueTaskStarted):
-            self.tasknumber_current = event.stats.completed + event.stats.active + event.stats.failed + 1
-            self.tasknumber_total = event.stats.total
+            self.runtasks_current = event.stats.completed + event.stats.active + event.stats.failed + 1
+            self.runtasks_total = event.stats.total
+            self.tasknumber_current = self.scenetasks_current + self.runtasks_current
+            self.tasknumber_total = self.scenetasks_total + self.runtasks_total
             self.needUpdate = True
         elif isinstance(event, bb.build.TaskProgress):
             if event.pid > 0 and event.pid in self.pidmap:
-- 
2.21.1



More information about the bitbake-devel mailing list