From: Cristiana Voicu Date: Wed, 12 Mar 2014 18:47:40 +0000 (+0000) Subject: bitbake: toaster: add license manifest path to database X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5396191fed7921c6d0762ba71f182ce2d0174686;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git bitbake: toaster: add license manifest path to database Based on image_name, the target is obtained, and the path is added to the database. [YOCTO #5649] (Bitbake rev: 911b5191133956c30d53f57629c115db196b9ac8) Signed-off-by: Cristiana Voicu Signed-off-by: Richard Purdie --- diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py index 1b17c1f6e3e..8f091e8990d 100644 --- a/bitbake/lib/bb/ui/buildinfohelper.py +++ b/bitbake/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/bitbake/lib/bb/ui/toasterui.py b/bitbake/lib/bb/ui/toasterui.py index 04e0f993428..b2c084cb8e7 100644 --- a/bitbake/lib/bb/ui/toasterui.py +++ b/bitbake/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