From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by yocto-www.yoctoproject.org (Postfix) with ESMTP id 60663E00B30 for ; Tue, 18 Mar 2014 09:08:16 -0700 (PDT) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP; 18 Mar 2014 09:04:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.97,678,1389772800"; d="scan'208,217";a="494436303" Received: from cvoicu-vostro-460.rb.intel.com (HELO [10.237.105.62]) ([10.237.105.62]) by fmsmga001.fm.intel.com with ESMTP; 18 Mar 2014 09:02:16 -0700 Message-ID: <53286E20.9030308@intel.com> Date: Tue, 18 Mar 2014 18:02:40 +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> <531F1E2B.8@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, 18 Mar 2014 16:08:16 -0000 Content-Type: multipart/alternative; boundary="------------080703090205080204080203" --------------080703090205080204080203 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 03/12/2014 04:06 PM, Damian, Alexandru wrote: > Taken in for submission. Hi Alex, There are 2 patches needed to populate license.manifest file, but only one is on master. Can you please include in the next submission the other one ( http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=cvoicu/toaster-work&id=b0397121ab1f529ba9e52e96f57e328663852483) ? Thanks, Cristiana > > > On Tue, Mar 11, 2014 at 2:31 PM, cristiana.voicu > > wrote: > > 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 > > > > > -- > Alex Damian > Yocto Project > SSG / OTC --------------080703090205080204080203 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
On 03/12/2014 04:06 PM, Damian, Alexandru wrote:
Taken in for submission.
Hi Alex,

There are 2 patches needed to populate license.manifest file, but only one is on master. Can you please include in the next submission the other one ( http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=cvoicu/toaster-work&id=b0397121ab1f529ba9e52e96f57e328663852483) ?

Thanks,
Cristiana


On Tue, Mar 11, 2014 at 2:31 PM, cristiana.voicu <cristiana.voicu@intel.com> wrote:
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 




--
Alex Damian
Yocto Project
SSG / OTC 

--------------080703090205080204080203--