Patchwork [3/7] package.bbclass: set package size into pkgdata for hob2's use

login
register
mail settings
Submitter Dongxiao Xu
Date Jan. 6, 2012, 9:05 a.m.
Message ID <cb68880ff8beeef149a774aa2dc345de2a266c19.1325840474.git.dongxiao.xu@intel.com>
Download mbox | patch
Permalink /patch/18635/
State Accepted
Commit 9c446d007957dab36ee2c012f0a5b22494a7a84f
Headers show

Comments

Dongxiao Xu - Jan. 6, 2012, 9:05 a.m.
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(-)

Patch

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 9040eb4..8bde0b3 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1042,6 +1042,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)
@@ -1090,6 +1097,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()