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

Richard Purdie richard.purdie at linuxfoundation.org
Fri Mar 29 10:42:42 UTC 2013


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