[bitbake-devel] [PATCH 3/6] packageinfo.bbclass : extended functionality

Andrei Dinu andrei.adrianx.dinu at intel.com
Fri Mar 29 13:35:10 UTC 2013


Hi Paul, Richard,

Thanks for the heads-up. I will look into PKDEST variable to replace all the
hardcoded paths in there and send the patch on the right list.

Thanks,

Andrei Dinu

On 03/29/2013 12:42 PM, Richard Purdie wrote:
> On Thu, 2013-03-28 at 18:54 +0000, Paul Eggleton wrote:
>> Hi Andrei,
>>
>> On Thursday 28 March 2013 10:23:19 Andrei Dinu wrote:
>>> Extended the functionality of packageinfo.bbclass
>>> so that the sistem retrieves information about the
>>> files brought in by each package. This is done
>>> (without activating buildhistory) by parsing
>>> the packages-split directory for each package.
>>>
>>> Signed-off-by: Andrei Dinu <andrei.adrianx.dinu at intel.com>
>>> ---
>>>   meta/classes/packageinfo.bbclass |   21 +++++++++++++++++++++
>>>   1 file changed, 21 insertions(+)
>>>
>>> diff --git a/meta/classes/packageinfo.bbclass
>>> b/meta/classes/packageinfo.bbclass index bd7b249..5e6f590 100644
>>> --- a/meta/classes/packageinfo.bbclass
>>> +++ b/meta/classes/packageinfo.bbclass
>>> @@ -8,6 +8,25 @@ python packageinfo_handler () {
>>>           package_archs = e.data.getVar('PACKAGE_ARCHS', True)
>>>           packaging = e.data.getVar('PACKAGE_CLASSES',
>>> True).split()[0].split('_')[1] deploy_dir = e.data.getVar('DEPLOY_DIR',
>>> True) + '/' + packaging +        dirs = os.listdir(tmpdir + '/work/')
>>> +        pkgsplit_dir = tmpdir + '/work/'
>>> +        items = {}
>>> +        passing = ''
>>> +        for directories in dirs:
>>> +                temp_dirs = os.listdir(pkgsplit_dir + directories)
>>> +                for temps1 in temp_dirs:
>>> +                        if os.path.exists(pkgsplit_dir + directories + '/'
>>> + temps1 + '/' + os.listdir(pkgsplit_dir + directories + '/' + temps1)[0] +
>>> '/packages-split'): +                                subs = pkgsplit_dir +
>>> directories + '/' + temps1 + '/' + os.listdir(pkgsplit_dir + directories +
>>> '/' + temps1)[0] + '/packages-split' +                                for
>>> temps in os.listdir(subs):
>>> +                                        items[temps] = {}
>>> +                                        for path, dirs, files in
>>> os.walk(pkgsplit_dir + directories + '/' + temps1 + '/' +
>>> os.listdir(pkgsplit_dir + directories + '/' + temps1)[0] +
>>> '/packages-split' + '/' + temps): +
>>>                 file_list = [] +
>>>             if os.listdir(path) != []: +
>>>                             items[temps][path] = [] +
>>>                                          for f in files: +
>>>                                                       file_list.append(f) +
>>>                                                               
>>> items[temps][path].append(file_list) +
>>>           for arch in package_archs.split():
>>>               pkgdata_dir = tmpdir + '/pkgdata/' + arch + target_vendor + '-'
>>> + target_os + '/runtime/' if os.path.exists(pkgdata_dir):
>>> @@ -19,6 +38,8 @@ python packageinfo_handler () {
>>>                               try:
>>>                                   sdata =
>>> oe.packagedata.read_pkgdatafile(pkgdatafile) sdata['PKG'] = pkgname
>>> +                                if pkgname in items:
>>> +                                        sdata['FILES_INFO'] =
>>> items[pkgname] pkginfolist.append(sdata)
>>>                               except Exception as e:
>>>                                   bb.warn("Failed to read pkgdata file %s:
>>> %s: %s" % (pkgdatafile, e.__class__, str(e)))
>> This is a change against the metadata rather than BitBake; it needs to be sent
>> separately to the OE-Core mailing list.
>>
>> Before you send it there however, you really need to be using the PKGDEST
>> variable instead of composing the path to packages-split using hardcoded path
>> components.
> Sorry, I missed this feedback. Can you please send a follow up patch to
> the OE-Core list addressing the PKGDEST issue.
>
> Thanks,
>
> Richard
>





More information about the bitbake-devel mailing list