Patchwork [bitbake-devel,2/4] toaster: add license manifest path to database

login
register
mail settings
Submitter Alexandru DAMIAN
Date March 12, 2014, 6:47 p.m.
Message ID <788d00b60ea1b8f42adbcdc8f6e95f4b75e9dbca.1394649860.git.alexandru.damian@intel.com>
Download mbox | patch
Permalink /patch/68537/
State New
Headers show

Comments

Alexandru DAMIAN - March 12, 2014, 6:47 p.m.
From: Cristiana Voicu <cristiana.voicu@intel.com>

Based on image_name, the target is obtained, and the path
is added to the database.

[YOCTO #5649]

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
---
 lib/bb/ui/buildinfohelper.py | 14 ++++++++++++++
 lib/bb/ui/toasterui.py       |  8 +++++---
 2 files changed, 19 insertions(+), 3 deletions(-)

Patch

diff --git a/lib/bb/ui/buildinfohelper.py b/lib/bb/ui/buildinfohelper.py
index 1b17c1f..8f091e8 100644
--- a/lib/bb/ui/buildinfohelper.py
+++ b/lib/bb/ui/buildinfohelper.py
@@ -93,6 +93,10 @@  class ORMWrapper(object):
         build.outcome = outcome
         build.save()
 
+    def update_target_object(self, target, license_manifest_path):
+
+        target.license_manifest_path = license_manifest_path
+        target.save()
 
     def get_update_task_object(self, task_information, must_exist = False):
         assert 'build' in task_information
@@ -616,6 +620,16 @@  class BuildInfoHelper(object):
         if 'build' in self.internal_state:
             self.orm_wrapper.update_build_object(self.internal_state['build'], errors, warnings, taskfailures)
 
+
+    def store_license_manifest_path(self, event):
+        deploy_dir = event.data['deploy_dir_image']
+        image_name =  event.data['image_name']
+        path = deploy_dir + "/licenses/" + image_name + "/"
+        for target in self.internal_state['targets']:
+            if target.target in image_name:
+                self.orm_wrapper.update_target_object(target, path)
+
+
     def store_started_task(self, event):
         assert isinstance(event, (bb.runqueue.sceneQueueTaskStarted, bb.runqueue.runQueueTaskStarted, bb.runqueue.runQueueTaskSkipped))
         assert 'taskfile' in vars(event)
diff --git a/lib/bb/ui/toasterui.py b/lib/bb/ui/toasterui.py
index 04e0f99..b2c084c 100644
--- a/lib/bb/ui/toasterui.py
+++ b/lib/bb/ui/toasterui.py
@@ -235,14 +235,16 @@  def main(server, eventHandler, params ):
             if isinstance(event, bb.event.MetadataEvent):
                 if event.type == "SinglePackageInfo":
                     buildinfohelper.store_build_package_information(event)
-                if event.type == "LayerInfo":
+                elif event.type == "LayerInfo":
                     buildinfohelper.store_layer_info(event)
-                if event.type == "BuildStatsList":
+                elif event.type == "BuildStatsList":
                     buildinfohelper.store_tasks_stats(event)
-                if event.type == "ImagePkgList":
+                elif event.type == "ImagePkgList":
                     buildinfohelper.store_target_package_data(event)
                 elif event.type == "ImageFileSize":
                     buildinfohelper.update_target_image_file(event)
+                elif event.type == "LicenseManifestPath":
+                    buildinfohelper.store_license_manifest_path(event)
                 continue
 
             # ignore