From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by yocto-www.yoctoproject.org (Postfix) with ESMTP id B2FE9E009BB for ; Tue, 11 Mar 2014 07:31:40 -0700 (PDT) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP; 11 Mar 2014 07:27:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.97,631,1389772800"; d="scan'208,217";a="497711537" Received: from cvoicu-vostro-460.rb.intel.com (HELO [10.237.105.62]) ([10.237.105.62]) by orsmga002.jf.intel.com with ESMTP; 11 Mar 2014 07:30:55 -0700 Message-ID: <531F1E2B.8@intel.com> Date: Tue, 11 Mar 2014 16:31:07 +0200 From: "cristiana.voicu" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: "Damian, Alexandru" References: <1394202203-29076-1-git-send-email-cristiana.voicu@intel.com> In-Reply-To: Cc: "toaster@yoctoproject.org" Subject: Re: [PATCH] toaster: add license manifest path to database X-BeenThere: toaster@yoctoproject.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Web based interface for BitBake List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Mar 2014 14:31:43 -0000 Content-Type: multipart/alternative; boundary="------------030401070304070800020705" --------------030401070304070800020705 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi Alex, I've created a poky-contrib with these patches because they are in conflict with the patch sent earlier to populate image file table. So, all the patches can be found there. The branch is cvoicu/toaster-work. Thanks, Cristiana On 03/11/2014 02:23 PM, Damian, Alexandru wrote: > Can you please rebase this patch into two different patches: > > - one for meta/ changes > - one for bitbake/ changes > > This is needed as they get merged into separate upstreams (poky and > bitbake) > > Thank you, > Alex > > > On Fri, Mar 7, 2014 at 2:23 PM, Cristiana Voicu > > wrote: > > In order to obtain DEPLOY_DIR and IMAGE_NAME, a function was added > to toaster.bbclass to intercept the end of rootfs. > The information is added to a metadata event. Based on image_name, > the target is obtained, and then the path is added in the database. > > [YOCTO #5649] > Signed-off-by: Cristiana Voicu > > --- > bitbake/lib/bb/ui/buildinfohelper.py | 14 ++++++++++++++ > bitbake/lib/bb/ui/toasterui.py | 2 ++ > meta/classes/toaster.bbclass | 12 ++++++++++++ > 3 files changed, 28 insertions(+) > > diff --git a/bitbake/lib/bb/ui/buildinfohelper.py > b/bitbake/lib/bb/ui/buildinfohelper.py > index 5060a21..cf31872 100644 > --- a/bitbake/lib/bb/ui/buildinfohelper.py > +++ b/bitbake/lib/bb/ui/buildinfohelper.py > @@ -92,6 +92,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 > @@ -623,6 +627,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 e469d93..99a8c71 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) > + if event.type == "LicenseManifestPath": > + buildinfohelper.store_license_manifest_path(event) > continue > > # ignore > diff --git a/meta/classes/toaster.bbclass > b/meta/classes/toaster.bbclass > index ddfceb5..563b1f7 100644 > --- a/meta/classes/toaster.bbclass > +++ b/meta/classes/toaster.bbclass > @@ -296,6 +296,17 @@ python toaster_buildhistory_dump() { > > } > > +# dump information related to license manifest path > + > +python toaster_licensemanifest_dump() { > + deploy_dir_image = d.getVar('DEPLOY_DIR_IMAGE', True); > + image_name = d.getVar('IMAGE_NAME', True); > + > + data = { 'deploy_dir_image' : deploy_dir_image, 'image_name' > : image_name } > + > + bb.event.fire(bb.event.MetadataEvent("LicenseManifestPath", > data), d) > +} > + > # set event handlers > addhandler toaster_layerinfo_dumpdata > toaster_layerinfo_dumpdata[eventmask] = > "bb.event.TreeDataPreparationCompleted" > @@ -308,3 +319,4 @@ toaster_buildhistory_dump[eventmask] = > "bb.event.BuildCompleted" > do_package[postfuncs] += "toaster_package_dumpdata " > > do_rootfs[postfuncs] += "toaster_image_dumpdata " > +do_rootfs[postfuncs] += "toaster_licensemanifest_dump " > -- > 1.7.9.5 > > _______________________________________________ > toaster mailing list > toaster@yoctoproject.org > https://lists.yoctoproject.org/listinfo/toaster > > > > > -- > Alex Damian > Yocto Project > SSG / OTC --------------030401070304070800020705 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
Hi Alex,

I've created a poky-contrib with these patches because they are in conflict with the patch sent earlier to populate image file table. So, all the patches can be found there.

The branch is cvoicu/toaster-work.

Thanks,
Cristiana

On 03/11/2014 02:23 PM, Damian, Alexandru wrote:
Can you please rebase this patch into two different patches:

- one for meta/ changes
- one for bitbake/ changes

This is needed as they get merged into separate upstreams (poky and bitbake)

Thank you,
Alex


On Fri, Mar 7, 2014 at 2:23 PM, Cristiana Voicu <cristiana.voicu@intel.com> wrote:
In order to obtain DEPLOY_DIR and IMAGE_NAME, a function was added
to toaster.bbclass to intercept the end of rootfs.
The information is added to a metadata event. Based on image_name,
the target is obtained, and then the path is added in the database.

[YOCTO #5649]
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
---
 bitbake/lib/bb/ui/buildinfohelper.py |   14 ++++++++++++++
 bitbake/lib/bb/ui/toasterui.py       |    2 ++
 meta/classes/toaster.bbclass         |   12 ++++++++++++
 3 files changed, 28 insertions(+)

diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py
index 5060a21..cf31872 100644
--- a/bitbake/lib/bb/ui/buildinfohelper.py
+++ b/bitbake/lib/bb/ui/buildinfohelper.py
@@ -92,6 +92,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
@@ -623,6 +627,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 e469d93..99a8c71 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)
+                if event.type == "LicenseManifestPath":
+                    buildinfohelper.store_license_manifest_path(event)
                 continue

             # ignore
diff --git a/meta/classes/toaster.bbclass b/meta/classes/toaster.bbclass
index ddfceb5..563b1f7 100644
--- a/meta/classes/toaster.bbclass
+++ b/meta/classes/toaster.bbclass
@@ -296,6 +296,17 @@ python toaster_buildhistory_dump() {

 }

+# dump information related to license manifest path
+
+python toaster_licensemanifest_dump() {
+    deploy_dir_image = d.getVar('DEPLOY_DIR_IMAGE', True);
+    image_name = d.getVar('IMAGE_NAME', True);
+
+    data = { 'deploy_dir_image' : deploy_dir_image, 'image_name' : image_name }
+
+    bb.event.fire(bb.event.MetadataEvent("LicenseManifestPath", data), d)
+}
+
 # set event handlers
 addhandler toaster_layerinfo_dumpdata
 toaster_layerinfo_dumpdata[eventmask] = "bb.event.TreeDataPreparationCompleted"
@@ -308,3 +319,4 @@ toaster_buildhistory_dump[eventmask] = "bb.event.BuildCompleted"
 do_package[postfuncs] += "toaster_package_dumpdata "

 do_rootfs[postfuncs] += "toaster_image_dumpdata "
+do_rootfs[postfuncs] += "toaster_licensemanifest_dump "
--
1.7.9.5

_______________________________________________
toaster mailing list
toaster@yoctoproject.org
https://lists.yoctoproject.org/listinfo/toaster



--
Alex Damian
Yocto Project
SSG / OTC 

--------------030401070304070800020705--