[bitbake-devel] [PATCH 2/2] Hob: show (package, task) pair which is being executed on the build details screen

Shane Wang shane.wang at intel.com
Mon Mar 26 14:33:06 UTC 2012


This patch is still for bug 2098 to provide clear information about the task and the package in progress.

[Yocto #2098]

Signed-off-by: Shane Wang <shane.wang at intel.com>
---
 bitbake/lib/bb/ui/crumbs/builddetailspage.py |   23 ++++++++++++++++-------
 bitbake/lib/bb/ui/crumbs/builder.py          |   12 +++++++++---
 bitbake/lib/bb/ui/crumbs/runningbuild.py     |    7 +++++++
 3 files changed, 32 insertions(+), 10 deletions(-)

diff --git a/bitbake/lib/bb/ui/crumbs/builddetailspage.py b/bitbake/lib/bb/ui/crumbs/builddetailspage.py
index c2f980f..1031906 100755
--- a/bitbake/lib/bb/ui/crumbs/builddetailspage.py
+++ b/bitbake/lib/bb/ui/crumbs/builddetailspage.py
@@ -47,9 +47,12 @@ class BuildDetailsPage (HobPage):
         self.vbox = gtk.VBox(False, 12)
 
         self.progress_box = gtk.VBox(False, 12)
-        self.task_status = gtk.Label()
-        self.task_status.set_alignment(0.0, 0.5)
-        self.progress_box.pack_start(self.task_status, expand=False, fill=False)
+        self.rq_status = gtk.Label()
+        self.rq_status.set_alignment(0.0, 0.5)
+        self.pt_status = gtk.Label()
+        self.pt_status.set_alignment(0.0, 0.5)
+        self.progress_box.pack_start(self.rq_status, expand=False, fill=False)
+        self.progress_box.pack_start(self.pt_status, expand=False, fill=False)
         self.progress_hbox = gtk.HBox(False, 6)
         self.progress_box.pack_end(self.progress_hbox, expand=True, fill=True)
         self.progress_bar = HobProgressBar()
@@ -89,11 +92,17 @@ class BuildDetailsPage (HobPage):
         self.back_button.connect("clicked", self.back_button_clicked_cb)
         self.button_box.pack_start(self.back_button, expand=False, fill=False)
 
-    def update_build_status(self, tsk_msg):
-        self.task_status.set_markup(tsk_msg)
+    def update_runqueue_status(self, msg):
+        self.rq_status.set_markup(msg)
 
-    def reset_build_status(self):
-        self.task_status.set_markup("")
+    def update_package_task_status(self, msg):
+        self.pt_status.set_markup(msg)
+
+    def reset_runqueue_status(self):
+        self.rq_status.set_markup("")
+
+    def reset_package_task_status(self):
+        self.pt_status.set_markup("")
 
     def show_issues(self):
         self.num_of_issues += 1
diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py
index f32a066..245a747 100755
--- a/bitbake/lib/bb/ui/crumbs/builder.py
+++ b/bitbake/lib/bb/ui/crumbs/builder.py
@@ -218,6 +218,7 @@ class Builder(gtk.Window):
         self.handler.build.connect("build-succeeded",    self.handler_build_succeeded_cb)
         self.handler.build.connect("build-failed",       self.handler_build_failed_cb)
         self.handler.build.connect("task-started",       self.handler_task_started_cb)
+        self.handler.build.connect("task-executing",     self.handler_task_executing_cb)
         self.handler.build.connect("log-error",          self.handler_build_failure_cb)
         self.handler.connect("generating-data",          self.handler_generating_data_cb)
         self.handler.connect("data-generated",           self.handler_data_generated_cb)
@@ -543,7 +544,8 @@ class Builder(gtk.Window):
         elif self.current_step == self.PACKAGE_GENERATING:
             fraction = 0
         self.build_details_page.update_progress_bar("Build Started: ", fraction)
-        self.build_details_page.reset_build_status()
+        self.build_details_page.reset_runqueue_status()
+        self.build_details_page.reset_package_task_status()
         self.build_details_page.reset_issues()
 
     def build_succeeded(self):
@@ -611,8 +613,12 @@ class Builder(gtk.Window):
             elif message["eventname"] == "runQueueTaskStarted":
                 fraction = 0.2 + 0.8 * fraction
         self.build_details_page.update_progress_bar(title + ": ", fraction)
-        self.build_details_page.update_build_status(
-            "<span weight=\'bold\'>Running task %s of %s:</span> %s" % (message["current"], message["total"], message["task"]))
+        self.build_details_page.update_runqueue_status(
+            "<span weight=\'bold\'>Starting task %s of %s:</span> %s" % (message["current"], message["total"], message["task"]))
+
+    def handler_task_executing_cb(self, running_build, message):
+        self.build_details_page.update_package_task_status(
+            "<span weight=\'bold\'>Running task</span> %s <span weight=\'bold\'>on package</span> %s" % (message["task"], message["package"]))
 
     def handler_build_failure_cb(self, running_build):
         self.build_details_page.show_issues()
diff --git a/bitbake/lib/bb/ui/crumbs/runningbuild.py b/bitbake/lib/bb/ui/crumbs/runningbuild.py
index 0f58e4e..e9d8070 100644
--- a/bitbake/lib/bb/ui/crumbs/runningbuild.py
+++ b/bitbake/lib/bb/ui/crumbs/runningbuild.py
@@ -85,6 +85,9 @@ class RunningBuild (gobject.GObject):
           'task-started'    :  (gobject.SIGNAL_RUN_LAST,
                                 gobject.TYPE_NONE,
                                (gobject.TYPE_PYOBJECT,)),
+          'task-executing'  :  (gobject.SIGNAL_RUN_LAST,
+                                gobject.TYPE_NONE,
+                               (gobject.TYPE_PYOBJECT,)),
           'log-error'       :  (gobject.SIGNAL_RUN_LAST,
                                 gobject.TYPE_NONE,
                                ()),
@@ -208,6 +211,10 @@ class RunningBuild (gobject.GObject):
             # Save out the iter so that we can find it when we have a message
             # that we need to attach to a task.
             self.tasks_to_iter[(package, task)] = i
+            message = {}
+            message["task"] = task
+            message["package"] = package
+            self.emit("task-executing", message)
 
         elif isinstance(event, bb.build.TaskBase):
             current = self.tasks_to_iter[(package, task)]
-- 
1.7.6





More information about the bitbake-devel mailing list