summaryrefslogtreecommitdiff
path: root/meta/classes/packageinfo.bbclass
diff options
context:
space:
mode:
authorAndrei Dinu <andrei.adrianx.dinu@intel.com>2013-03-28 10:23:19 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-03-29 10:40:18 +0000
commit108bae276fe7e462378073207a3bdca7326f8e57 (patch)
tree6376d99daebb5196998ea582ebdb84f716346fdf /meta/classes/packageinfo.bbclass
parentc2fd59028a57356cff8d165edb71c45c3b05cc67 (diff)
downloadopenembedded-core-108bae276fe7e462378073207a3bdca7326f8e57.tar.gz
openembedded-core-108bae276fe7e462378073207a3bdca7326f8e57.tar.bz2
openembedded-core-108bae276fe7e462378073207a3bdca7326f8e57.zip
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@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/packageinfo.bbclass')
-rw-r--r--meta/classes/packageinfo.bbclass21
1 files changed, 21 insertions, 0 deletions
diff --git a/meta/classes/packageinfo.bbclass b/meta/classes/packageinfo.bbclass
index bd7b249bb4..5e6f5901e0 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)))