summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/ui/crumbs/runningbuild.py
diff options
context:
space:
mode:
authorDongxiao Xu <dongxiao.xu@intel.com>2012-04-15 15:26:37 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-04-15 17:31:57 +0100
commit74211e0372da92bd6b8600bee9e5624f044127a6 (patch)
tree79526597accae1f9c046d51f6d7c1f8c9427afdb /bitbake/lib/bb/ui/crumbs/runningbuild.py
parenta5210e47b08e0ee42e9e188d83953203147a994d (diff)
downloadpoky-74211e0372da92bd6b8600bee9e5624f044127a6.tar.gz
Hob: Handle NoProvider event in runningbuild module
If NoProvider event is received, we will handle it in runningbuild module and send notification to Hob instance, avoiding stepping into the final page with no image built out. This fixes [YOCTO #2249] (Bitbake rev: 067bc46a0fbc542fef1fcaa406ad3737a4c5a55a) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/runningbuild.py')
-rw-r--r--bitbake/lib/bb/ui/crumbs/runningbuild.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/runningbuild.py b/bitbake/lib/bb/ui/crumbs/runningbuild.py
index 042902e48c..8cf36ee24e 100644
--- a/bitbake/lib/bb/ui/crumbs/runningbuild.py
+++ b/bitbake/lib/bb/ui/crumbs/runningbuild.py
@@ -82,6 +82,9 @@ class RunningBuild (gobject.GObject):
82 'log-error' : (gobject.SIGNAL_RUN_LAST, 82 'log-error' : (gobject.SIGNAL_RUN_LAST,
83 gobject.TYPE_NONE, 83 gobject.TYPE_NONE,
84 ()), 84 ()),
85 'no-provider' : (gobject.SIGNAL_RUN_LAST,
86 gobject.TYPE_NONE,
87 (gobject.TYPE_PYOBJECT,)),
85 } 88 }
86 pids_to_task = {} 89 pids_to_task = {}
87 tasks_to_iter = {} 90 tasks_to_iter = {}
@@ -320,6 +323,20 @@ class RunningBuild (gobject.GObject):
320 message["title"] = "" 323 message["title"] = ""
321 message["task"] = event.taskstring 324 message["task"] = event.taskstring
322 self.emit("task-started", message) 325 self.emit("task-started", message)
326 elif isinstance(event, bb.event.NoProvider):
327 msg = ""
328 if event._runtime:
329 r = "R"
330 else:
331 r = ""
332 if event._dependees:
333 msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)\n" % (r, event._item, ", ".join(event._dependees), r)
334 else:
335 msg = "Nothing %sPROVIDES '%s'\n" % (r, event._item)
336 if event._reasons:
337 for reason in event._reasons:
338 msg += ("%s\n" % reason)
339 self.emit("no-provider", msg)
323 340
324 return 341 return
325 342