From 839f30486e82710b54deaa979bf69390013ec8b6 Mon Sep 17 00:00:00 2001 From: Cristiana Voicu Date: Wed, 12 Mar 2014 18:47:39 +0000 Subject: bitbake: toaster: populate target image file table Using ImageFileSize Metadata event, the image output file and its size are populated into target_image_file table. [YOCTO #5189] [YOCTO #5228] (Bitbake rev: a0b06d362b9aa08fda293489467af343c6ca6de4) Signed-off-by: Cristiana Voicu Signed-off-by: Alexandru DAMIAN Signed-off-by: Richard Purdie --- bitbake/lib/bb/ui/buildinfohelper.py | 13 +++++++++++++ bitbake/lib/bb/ui/toasterui.py | 2 ++ 2 files changed, 15 insertions(+) (limited to 'bitbake/lib/bb') diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py index f9b067fab9..1b17c1f6e3 100644 --- a/bitbake/lib/bb/ui/buildinfohelper.py +++ b/bitbake/lib/bb/ui/buildinfohelper.py @@ -26,6 +26,7 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "toaster.toastermain.settings") import toaster.toastermain.settings as toaster_django_settings from toaster.orm.models import Build, Task, Recipe, Layer_Version, Layer, Target, LogMessage +from toaster.orm.models import Target_Image_File from toaster.orm.models import Variable, VariableHistory from toaster.orm.models import Package, Package_File, Target_Installed_Package, Target_File from toaster.orm.models import Task_Dependency, Package_Dependency @@ -344,6 +345,11 @@ class ORMWrapper(object): if (len(errormsg) > 0): raise Exception(errormsg) + def save_target_image_file_information(self, target_obj, file_name, file_size): + target_image_file = Target_Image_File.objects.create( target = target_obj, + file_name = file_name, + file_size = file_size) + target_image_file.save() def create_logmessage(self, log_information): assert 'build' in log_information @@ -598,6 +604,13 @@ class BuildInfoHelper(object): # Save build configuration self.orm_wrapper.save_build_variables(build_obj, self.server.runCommand(["getAllKeysWithFlags", ["doc", "func"]])[0]) + def update_target_image_file(self, event): + for t in self.internal_state['targets']: + if t.is_image == True: + output_files = list(event.data.viewkeys()) + for output in output_files: + if t.target in output: + self.orm_wrapper.save_target_image_file_information(t, output, event.data[output]) def update_build_information(self, event, errors, warnings, taskfailures): if 'build' in self.internal_state: diff --git a/bitbake/lib/bb/ui/toasterui.py b/bitbake/lib/bb/ui/toasterui.py index e469d93e82..04e0f99342 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) if event.type == "ImagePkgList": buildinfohelper.store_target_package_data(event) + elif event.type == "ImageFileSize": + buildinfohelper.update_target_image_file(event) continue # ignore -- cgit v1.2.3-54-g00ecf