[oe-commits] Andrei Dinu : packageinfo.bbclass : extended functionality

git at git.openembedded.org git at git.openembedded.org
Fri Mar 29 10:39:19 UTC 2013


Module: openembedded-core.git
Branch: master
Commit: 108bae276fe7e462378073207a3bdca7326f8e57
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=108bae276fe7e462378073207a3bdca7326f8e57

Author: Andrei Dinu <andrei.adrianx.dinu at intel.com>
Date:   Thu Mar 28 10:23:19 2013 +0200

packageinfo.bbclass : extended functionality

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>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/classes/packageinfo.bbclass |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

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)))





More information about the Openembedded-commits mailing list