* [PATCH] Add file information to package information window
@ 2013-04-03 11:58 Andrei Dinu
2013-04-03 13:30 ` Richard Purdie
0 siblings, 1 reply; 2+ messages in thread
From: Andrei Dinu @ 2013-04-03 11:58 UTC (permalink / raw)
To: openembedded-core
Removed the package files parsing routine from the
packageinfo.bbclass file and added it to the
package.bbclass file.
Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
---
meta/classes/package.bbclass | 14 ++++++++++++++
meta/classes/packageinfo.bbclass | 20 --------------------
2 files changed, 14 insertions(+), 20 deletions(-)
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 3479947..121a1dd 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1130,6 +1130,17 @@ python emit_pkgdata() {
workdir = d.getVar('WORKDIR', True)
for pkg in packages.split():
+ pkgdest = d.getVar('PKGDEST', True)
+ files_path = pkgdest + '/' + pkg
+ if os.path.exists(files_path):
+ items = {}
+ for path, dirs, files in os.walk(files_path):
+ files_list = []
+ if os.listdir(path) != []:
+ for f in files:
+ files_list.append(f)
+ if len(files_list) != 0:
+ items[path] = files_list
subdata_file = pkgdatadir + "/runtime/%s" % pkg
pkgval = d.getVar('PKG_%s' % pkg, True)
@@ -1137,6 +1148,8 @@ python emit_pkgdata() {
pkgval = pkg
d.setVar('PKG_%s' % pkg, pkg)
+ d.setVar('FILES_INFO', str(items))
+
sf = open(subdata_file, 'w')
write_if_exists(sf, pkg, 'PN')
write_if_exists(sf, pkg, 'PV')
@@ -1161,6 +1174,7 @@ python emit_pkgdata() {
write_if_exists(sf, pkg, 'pkg_preinst')
write_if_exists(sf, pkg, 'pkg_prerm')
write_if_exists(sf, pkg, 'FILERPROVIDESFLIST')
+ write_if_exists(sf, pkg, 'FILES_INFO')
for dfile in (d.getVar('FILERPROVIDESFLIST_' + pkg, True) or "").split():
write_if_exists(sf, pkg, 'FILERPROVIDES_' + dfile)
diff --git a/meta/classes/packageinfo.bbclass b/meta/classes/packageinfo.bbclass
index 5e6f590..4709bea 100644
--- a/meta/classes/packageinfo.bbclass
+++ b/meta/classes/packageinfo.bbclass
@@ -8,24 +8,6 @@ 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/'
@@ -38,8 +20,6 @@ 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)))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] Add file information to package information window
2013-04-03 11:58 [PATCH] Add file information to package information window Andrei Dinu
@ 2013-04-03 13:30 ` Richard Purdie
0 siblings, 0 replies; 2+ messages in thread
From: Richard Purdie @ 2013-04-03 13:30 UTC (permalink / raw)
To: Andrei Dinu; +Cc: openembedded-core
On Wed, 2013-04-03 at 14:58 +0300, Andrei Dinu wrote:
> Removed the package files parsing routine from the
> packageinfo.bbclass file and added it to the
> package.bbclass file.
>
> Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
> ---
> meta/classes/package.bbclass | 14 ++++++++++++++
> meta/classes/packageinfo.bbclass | 20 --------------------
> 2 files changed, 14 insertions(+), 20 deletions(-)
>
> diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
> index 3479947..121a1dd 100644
> --- a/meta/classes/package.bbclass
> +++ b/meta/classes/package.bbclass
> @@ -1130,6 +1130,17 @@ python emit_pkgdata() {
> workdir = d.getVar('WORKDIR', True)
>
> for pkg in packages.split():
> + pkgdest = d.getVar('PKGDEST', True)
> + files_path = pkgdest + '/' + pkg
> + if os.path.exists(files_path):
> + items = {}
> + for path, dirs, files in os.walk(files_path):
> + files_list = []
> + if os.listdir(path) != []:
> + for f in files:
> + files_list.append(f)
> + if len(files_list) != 0:
> + items[path] = files_list
> subdata_file = pkgdatadir + "/runtime/%s" % pkg
You're now doing this in a "fastpath" so we need to look carefully at
performance here. Can you have a look at the pkgfiles[pkg] variable and
see if you can get the data you need from that? You should be able to
iterate it and just strip out the prefixes?
Cheers,
Richard
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-04-03 13:48 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-03 11:58 [PATCH] Add file information to package information window Andrei Dinu
2013-04-03 13:30 ` Richard Purdie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox