summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/ui/buildinfohelper.py13
-rw-r--r--bitbake/lib/bb/ui/toasterui.py2
-rw-r--r--bitbake/lib/toaster/bldviewer/api.py1
-rw-r--r--bitbake/lib/toaster/bldviewer/views.py3
4 files changed, 18 insertions, 1 deletions
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
diff --git a/bitbake/lib/toaster/bldviewer/api.py b/bitbake/lib/toaster/bldviewer/api.py
index 654864e1e8..76d45c7d2c 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 435bc8e6bd..6f863796db 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,