[Toaster] [PATCH] toaster: add license manifest path to database

Damian, Alexandru alexandru.damian at intel.com
Wed Mar 12 07:06:16 PDT 2014


Taken in for submission.


On Tue, Mar 11, 2014 at 2:31 PM, cristiana.voicu
<cristiana.voicu at 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 at 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 at 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 at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/toaster
>>
>
>
>
> --
> Alex Damian
> Yocto Project
>  SSG / OTC
>
>
>


-- 
Alex Damian
Yocto Project
SSG / OTC
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/toaster/attachments/20140312/c656cc4d/attachment-0001.html>


More information about the toaster mailing list