aboutsummaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/ui
diff options
context:
space:
mode:
authorAlexandru DAMIAN <alexandru.damian@intel.com>2014-02-17 17:33:27 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-25 11:17:34 +0000
commit1913a1751d50c6e6011faea57999a4d342963de9 (patch)
tree4c8d4435d780bdb786b8493e2652fea226fbb03b /bitbake/lib/bb/ui
parent1d20fc44ea74696a85bd86e42a1f1a11f474fb55 (diff)
downloadopenembedded-core-contrib-1913a1751d50c6e6011faea57999a4d342963de9.tar.gz
bitbake: toasterui: save missed sstate tasks
We save the missed sstate tasks as tasks that executed but have the sstate_result set to "SSTATE_MISSED", signaling that the attempt to find an sstate file failed. (Bitbake rev: 6f22e02614adcc642fe011e5e31ca4936d1cb19d) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/ui')
-rw-r--r--bitbake/lib/bb/ui/buildinfohelper.py21
-rw-r--r--bitbake/lib/bb/ui/toasterui.py2
2 files changed, 23 insertions, 0 deletions
diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py
index 71b2ff508a..d1d92c8a5e 100644
--- a/bitbake/lib/bb/ui/buildinfohelper.py
+++ b/bitbake/lib/bb/ui/buildinfohelper.py
@@ -749,6 +749,27 @@ class BuildInfoHelper(object):
self.orm_wrapper.get_update_task_object(task_information, True) # must exist
+ def store_missed_state_tasks(self, event):
+ for (fn, taskname, taskhash, sstatefile) in event.data:
+
+ identifier = fn + taskname + "_setscene"
+ recipe_information = self._get_recipe_information_from_taskfile(fn)
+ recipe = self.orm_wrapper.get_update_recipe_object(recipe_information)
+ class MockEvent: pass
+ event = MockEvent()
+ event.taskname = taskname
+ event.taskhash = taskhash
+ task_information = self._get_task_information(event,recipe)
+
+ task_information['start_time'] = datetime.datetime.now()
+ task_information['outcome'] = Task.OUTCOME_NA
+ task_information['sstate_checksum'] = taskhash
+ task_information['sstate_result'] = Task.SSTATE_MISS
+ task_information['path_to_sstate_obj'] = sstatefile
+
+ self.orm_wrapper.get_update_task_object(task_information)
+
+
def store_target_package_data(self, event):
assert 'data' in vars(event)
# for all image targets
diff --git a/bitbake/lib/bb/ui/toasterui.py b/bitbake/lib/bb/ui/toasterui.py
index b2c084cb8e..453eaf9485 100644
--- a/bitbake/lib/bb/ui/toasterui.py
+++ b/bitbake/lib/bb/ui/toasterui.py
@@ -241,6 +241,8 @@ def main(server, eventHandler, params ):
buildinfohelper.store_tasks_stats(event)
elif event.type == "ImagePkgList":
buildinfohelper.store_target_package_data(event)
+ elif event.type == "MissedSstate":
+ buildinfohelper.store_missed_state_tasks(event)
elif event.type == "ImageFileSize":
buildinfohelper.update_target_image_file(event)
elif event.type == "LicenseManifestPath":