[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