Openembedded Bitbake Development
 help / color / mirror / Atom feed
From: Paul Eggleton <paul.eggleton@linux.intel.com>
To: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Cc: bitbake-devel@lists.openembedded.org
Subject: Re: [PATCH 3/6] packageinfo.bbclass : extended functionality
Date: Thu, 28 Mar 2013 18:54:58 +0000	[thread overview]
Message-ID: <3315515.WXWKcWa1L2@helios> (raw)
In-Reply-To: <1364459002-4165-4-git-send-email-andrei.adrianx.dinu@intel.com>

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@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.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



  reply	other threads:[~2013-03-28 19:12 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-28  8:23 [PATCH 0/6] Add file information to package information window Andrei Dinu
2013-03-28  8:23 ` [PATCH 1/6] cache_extra.py : added package information Andrei Dinu
2013-03-28  8:23 ` [PATCH 2/6] cooker.py : added variables related to cache_extra Andrei Dinu
2013-03-28  8:23 ` [PATCH 3/6] packageinfo.bbclass : extended functionality Andrei Dinu
2013-03-28 18:54   ` Paul Eggleton [this message]
2013-03-29 10:42     ` Richard Purdie
2013-03-29 13:35       ` Andrei Dinu
2013-03-28  8:23 ` [PATCH 4/6] propertydialog.py : added 'Package files' functionality Andrei Dinu
2013-03-28  8:23 ` [PATCH 5/6] hoblistmodel.py : passing the package information to hob Andrei Dinu
2013-03-28  8:23 ` [PATCH 6/6] packageselectionpage.py : added " Andrei Dinu
2013-03-28 18:45 ` [PATCH 0/6] Add file information to package information window Trevor Woerner
2013-03-28 18:58   ` Paul Eggleton
  -- strict thread matches above, loose matches on Subject: below --
2013-03-27 10:27 Andrei Dinu
2013-03-27 10:27 ` [PATCH 3/6] packageinfo.bbclass : extended functionality Andrei Dinu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3315515.WXWKcWa1L2@helios \
    --to=paul.eggleton@linux.intel.com \
    --cc=andrei.adrianx.dinu@intel.com \
    --cc=bitbake-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox