* [PATCH 0/2 v3-updated][PULL] Hob: oe-core related changes
@ 2012-01-13 8:55 Dongxiao Xu
2012-01-13 8:55 ` [PATCH 1/2] package.bbclass: set package size into pkgdata for hob2's use Dongxiao Xu
2012-01-13 8:55 ` [PATCH 2/2] packageinfo.bbclass: add a new bbclass to pass package information Dongxiao Xu
0 siblings, 2 replies; 3+ messages in thread
From: Dongxiao Xu @ 2012-01-13 8:55 UTC (permalink / raw)
To: openembedded-core
Hi Richard,
This is the UPDATED third pull request for Hob oe-core related changes.
meta-hob is NOT targeted to oe-core, so please ignore the previous one.
Please help to review and pull.
Note that this pull request has dependency on branch dxu4/hob-bitbake-changes-v3.
Changes from v2:
1. Remove the 'layers' from poky repo. We will have some indications in Hob GUI showing where to put new added layers.
2. Listen the specific event 'RequestPackageInfo' and then pass package information to GUI client.
Thanks,
Dongxiao
The following changes since commit 1d2697e6f00cc3771f39f5a7d4384a22d9696b16:
Richard Purdie (1):
multilib.conf: Clean up file and add missing entries for various dependencies
are available in the git repository at:
git://git.pokylinux.org/poky-contrib dxu4/hob-oecore-changes-v3
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dxu4/hob-oecore-changes-v3
Dongxiao Xu (1):
packageinfo.bbclass: add a new bbclass to pass package information
Shane Wang (1):
package.bbclass: set package size into pkgdata for hob2's use
meta/classes/package.bbclass | 8 ++++++++
meta/classes/packageinfo.bbclass | 30 ++++++++++++++++++++++++++++++
2 files changed, 38 insertions(+), 0 deletions(-)
create mode 100644 meta/classes/packageinfo.bbclass
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/2] package.bbclass: set package size into pkgdata for hob2's use
2012-01-13 8:55 [PATCH 0/2 v3-updated][PULL] Hob: oe-core related changes Dongxiao Xu
@ 2012-01-13 8:55 ` Dongxiao Xu
2012-01-13 8:55 ` [PATCH 2/2] packageinfo.bbclass: add a new bbclass to pass package information Dongxiao Xu
1 sibling, 0 replies; 3+ messages in thread
From: Dongxiao Xu @ 2012-01-13 8:55 UTC (permalink / raw)
To: openembedded-core
From: Shane Wang <shane.wang@intel.com>
Write the size of a package into its pkgdata for hob2 to get the size
and show on the UI for image making.
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
---
meta/classes/package.bbclass | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index f8f0a12..19616bd 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1057,6 +1057,13 @@ python emit_pkgdata() {
f.write('%s: %s\n' % (var, encode(val)))
return
+ def get_directory_size(dir):
+ if os.listdir(dir):
+ size = int(os.popen('du -sk %s' % dir).readlines()[0].split('\t')[0])
+ else:
+ size = 0
+ return size
+
packages = d.getVar('PACKAGES', True)
pkgdest = d.getVar('PKGDEST', 1)
pkgdatadir = d.getVar('PKGDESTWORK', True)
@@ -1105,6 +1112,7 @@ python emit_pkgdata() {
for dfile in (d.getVar('FILERDEPENDSFLIST_' + pkg, True) or "").split():
write_if_exists(sf, pkg, 'FILERDEPENDS_' + dfile)
+ sf.write('%s_%s: %s\n' % ('PKGSIZE', pkg, get_directory_size(pkgdest + "/%s" % pkg)))
sf.close()
--
1.7.0.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] packageinfo.bbclass: add a new bbclass to pass package information
2012-01-13 8:55 [PATCH 0/2 v3-updated][PULL] Hob: oe-core related changes Dongxiao Xu
2012-01-13 8:55 ` [PATCH 1/2] package.bbclass: set package size into pkgdata for hob2's use Dongxiao Xu
@ 2012-01-13 8:55 ` Dongxiao Xu
1 sibling, 0 replies; 3+ messages in thread
From: Dongxiao Xu @ 2012-01-13 8:55 UTC (permalink / raw)
To: openembedded-core
packageinfo.bbclass is to pass the accurate package information to
clients (e.g. Hob), including PN, PV, RDEPENDS, PKGSIZE, etc.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
---
meta/classes/packageinfo.bbclass | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 deletions(-)
create mode 100644 meta/classes/packageinfo.bbclass
diff --git a/meta/classes/packageinfo.bbclass b/meta/classes/packageinfo.bbclass
new file mode 100644
index 0000000..53551c4
--- /dev/null
+++ b/meta/classes/packageinfo.bbclass
@@ -0,0 +1,30 @@
+python packageinfo_handler () {
+ if isinstance(e, bb.event.RequestPackageInfo):
+ import oe.packagedata
+ pkginfolist = []
+ tmpdir = e.data.getVar('TMPDIR', True)
+ target_vendor = e.data.getVar('TARGET_VENDOR', True)
+ target_os = e.data.getVar('TARGET_OS', True)
+ 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
+ for arch in package_archs.split():
+ pkgdata_dir = tmpdir + '/pkgdata/' + arch + target_vendor + '-' + target_os + '/runtime/'
+ if os.path.exists(pkgdata_dir):
+ for root, dirs, files in os.walk(pkgdata_dir):
+ for pkgname in files:
+ if pkgname.endswith('.packaged'):
+ continue
+ sdata = oe.packagedata.read_pkgdatafile(root + pkgname)
+ sdata['PKG'] = pkgname
+ pkgrename = sdata['PKG_%s' % pkgname]
+ pkgv = sdata['PKGV']
+ pkgr = sdata['PKGR']
+ pkgname_path = deploy_dir + '/' + arch + '/' + pkgname + '-' + pkgv + '-' + pkgr + '.' + arch + '.' + packaging
+ pkgrename_path = deploy_dir + '/' + arch + '/' + pkgrename + '-' + pkgv + '-' + pkgr + '.' + arch + '.' + packaging
+ if os.path.exists(pkgname_path) or os.path.exists(pkgrename_path):
+ pkginfolist.append(sdata)
+ bb.event.fire(bb.event.PackageInfo(pkginfolist), e.data)
+}
+
+addhandler packageinfo_handler
--
1.7.0.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-01-13 9:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-13 8:55 [PATCH 0/2 v3-updated][PULL] Hob: oe-core related changes Dongxiao Xu
2012-01-13 8:55 ` [PATCH 1/2] package.bbclass: set package size into pkgdata for hob2's use Dongxiao Xu
2012-01-13 8:55 ` [PATCH 2/2] packageinfo.bbclass: add a new bbclass to pass package information Dongxiao Xu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox