[Toaster] [PATCH] toaster: populate target image file table

Damian, Alexandru alexandru.damian at intel.com
Wed Mar 12 07:06:33 PDT 2014


Taken in for submission.


On Tue, Mar 11, 2014 at 2:02 PM, Cristiana Voicu
<cristiana.voicu at intel.com>wrote:

> Using ImageFileSize Metadata event, the image output file and its
> size are populated into target_image_file table.
>
> [YOCTO #5189 & #5228]
> Signed-off-by: Cristiana Voicu <cristiana.voicu at intel.com>
> ---
>  bitbake/lib/bb/ui/buildinfohelper.py   |   13 +++++++++++++
>  bitbake/lib/bb/ui/toasterui.py         |    2 ++
>  bitbake/lib/toaster/bldviewer/api.py   |    1 +
>  bitbake/lib/toaster/bldviewer/views.py |    3 ++-
>  4 files changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/bitbake/lib/bb/ui/buildinfohelper.py
> b/bitbake/lib/bb/ui/buildinfohelper.py
> index d7b526a..798edfd 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
>  from toaster.orm.models import Task_Dependency, Package_Dependency
> @@ -237,6 +238,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
> @@ -491,6 +497,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 e469d93..04e0f99 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
> diff --git a/bitbake/lib/toaster/bldviewer/api.py
> b/bitbake/lib/toaster/bldviewer/api.py
> index 654864e..76d45c7 100644
> --- a/bitbake/lib/toaster/bldviewer/api.py
> +++ b/bitbake/lib/toaster/bldviewer/api.py
> @@ -25,6 +25,7 @@ from django.conf.urls import patterns, include, url
>  urlpatterns = patterns('bldviewer.views',
>          url(r'^builds$', 'model_explorer',  {'model_name':'build'},
> name='builds'),
>          url(r'^targets$', 'model_explorer',  {'model_name':'target'},
> name='targets'),
> +        url(r'^target_image_file$', 'model_explorer',
>  {'model_name':'target_image_file'}, name='target_image_file'),
>          url(r'^tasks$', 'model_explorer', {'model_name':'task'},
> name='task'),
>          url(r'^task_dependencies$', 'model_explorer',
>  {'model_name':'task_dependency'}, name='task_dependencies'),
>          url(r'^packages$', 'model_explorer',  {'model_name':'package'},
> name='package'),
> diff --git a/bitbake/lib/toaster/bldviewer/views.py
> b/bitbake/lib/toaster/bldviewer/views.py
> index 435bc8e..6f86379 100644
> --- a/bitbake/lib/toaster/bldviewer/views.py
> +++ b/bitbake/lib/toaster/bldviewer/views.py
> @@ -25,7 +25,7 @@ from django.db.models import Q
>  from django.shortcuts import render
>  from orm.models import Build, Target, Task, Layer, Layer_Version, Recipe,
> LogMessage, Variable, Target_Installed_Package
>  from orm.models import Task_Dependency, Recipe_Dependency, Package,
> Package_File, Package_Dependency
> -from orm.models import Target_Installed_Package, VariableHistory
> +from orm.models import Target_Installed_Package, VariableHistory,
> Target_Image_File
>  from django.views.decorators.cache import cache_control
>  from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
>
> @@ -159,6 +159,7 @@ def model_explorer(request, model_name):
>      model_mapping = {
>          'build': Build,
>          'target': Target,
> +        'target_image_file': Target_Image_File,
>          'task': Task,
>          'task_dependency': Task_Dependency,
>          'package': Package,
> --
> 1.7.9.5
>
> --
> _______________________________________________
> toaster mailing list
> toaster at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/toaster
>



-- 
Alex Damian
Yocto Project
SSG / OTC
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/toaster/attachments/20140312/c29f294d/attachment.html>


More information about the toaster mailing list