* [PATCH 3/6] packageinfo.bbclass : extended functionality
2013-03-27 10:27 Andrei Dinu
@ 2013-03-27 10:27 ` Andrei Dinu
0 siblings, 0 replies; 13+ messages in thread
From: Andrei Dinu @ 2013-03-27 10:27 UTC (permalink / raw)
To: bitbake-devel
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>
---
meta/classes/packageinfo.bbclass | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/meta/classes/packageinfo.bbclass b/meta/classes/packageinfo.bbclass
index bd7b249..f55af87 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'):
+ oau = pkgsplit_dir + directories + '/' + temps1 + '/' + os.listdir(pkgsplit_dir + directories + '/' + temps1)[0] + '/packages-split'
+ for temps in os.listdir(oau):
+ 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)))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 0/6] Add file information to package information window
@ 2013-03-28 8:23 Andrei Dinu
2013-03-28 8:23 ` [PATCH 1/6] cache_extra.py : added package information Andrei Dinu
` (6 more replies)
0 siblings, 7 replies; 13+ messages in thread
From: Andrei Dinu @ 2013-03-28 8:23 UTC (permalink / raw)
To: bitbake-devel
Listing the files that are brought into an image
from each package.
[HOB #3925]
Andrei Dinu (6):
cache_extra.py : added package information
cooker.py : added variables related to cache_extra
packageinfo.bbclass : extended functionality
propertydialog.py : added 'Package files' functionality
hoblistmodel.py : passing the package information to hob
packageselectionpage.py : added information to hob
bitbake/lib/bb/cache_extra.py | 3 +
bitbake/lib/bb/cooker.py | 2 +
bitbake/lib/bb/ui/crumbs/hig/propertydialog.py | 94 +++++++++++++++++++++-
bitbake/lib/bb/ui/crumbs/hoblistmodel.py | 6 +-
bitbake/lib/bb/ui/crumbs/packageselectionpage.py | 3 +-
meta/classes/packageinfo.bbclass | 21 +++++
6 files changed, 124 insertions(+), 5 deletions(-)
--
1.7.9.5
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/6] cache_extra.py : added package information
2013-03-28 8:23 [PATCH 0/6] Add file information to package information window Andrei Dinu
@ 2013-03-28 8:23 ` Andrei Dinu
2013-03-28 8:23 ` [PATCH 2/6] cooker.py : added variables related to cache_extra Andrei Dinu
` (5 subsequent siblings)
6 siblings, 0 replies; 13+ messages in thread
From: Andrei Dinu @ 2013-03-28 8:23 UTC (permalink / raw)
To: bitbake-devel
Added a new variable to cache_extra so that
the files brought in by a package can be
displayed in hob.
Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
---
bitbake/lib/bb/cache_extra.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/bitbake/lib/bb/cache_extra.py b/bitbake/lib/bb/cache_extra.py
index bf02bb7..9e38a43 100644
--- a/bitbake/lib/bb/cache_extra.py
+++ b/bitbake/lib/bb/cache_extra.py
@@ -44,6 +44,7 @@ class HobRecipeInfo(RecipeInfoCommon):
self.homepage = self.getvar('HOMEPAGE', metadata)
self.bugtracker = self.getvar('BUGTRACKER', metadata)
self.prevision = self.getvar('PR', metadata)
+ self.files_info = self.getvar('FILES_INFO', metadata)
@classmethod
def init_cacheData(cls, cachedata):
@@ -55,6 +56,7 @@ class HobRecipeInfo(RecipeInfoCommon):
cachedata.homepage = {}
cachedata.bugtracker = {}
cachedata.prevision = {}
+ cachedata.files_info = {}
def add_cacheData(self, cachedata, fn):
cachedata.summary[fn] = self.summary
@@ -64,3 +66,4 @@ class HobRecipeInfo(RecipeInfoCommon):
cachedata.homepage[fn] = self.homepage
cachedata.bugtracker[fn] = self.bugtracker
cachedata.prevision[fn] = self.prevision
+ cachedata.files_info[fn] = self.files_info
--
1.7.9.5
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/6] cooker.py : added variables related to cache_extra
2013-03-28 8:23 [PATCH 0/6] Add file information to package information window Andrei Dinu
2013-03-28 8:23 ` [PATCH 1/6] cache_extra.py : added package information Andrei Dinu
@ 2013-03-28 8:23 ` Andrei Dinu
2013-03-28 8:23 ` [PATCH 3/6] packageinfo.bbclass : extended functionality Andrei Dinu
` (4 subsequent siblings)
6 siblings, 0 replies; 13+ messages in thread
From: Andrei Dinu @ 2013-03-28 8:23 UTC (permalink / raw)
To: bitbake-devel
So that the information added to cache_extra could
be accesed by hob, new variables were added in
the cooker.py.
Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
---
bitbake/lib/bb/cooker.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 4650d7c..c7c2ca6 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -576,6 +576,7 @@ class BBCooker:
description = self.status.description[fn]
homepage = self.status.homepage[fn]
bugtracker = self.status.bugtracker[fn]
+ files_info = self.status.files_info[fn]
rdepends = self.status.rundeps[fn]
rrecs = self.status.runrecs[fn]
prevision = self.status.prevision[fn]
@@ -591,6 +592,7 @@ class BBCooker:
depend_tree["pn"][pn]["inherits"] = inherits
depend_tree["pn"][pn]["homepage"] = homepage
depend_tree["pn"][pn]["bugtracker"] = bugtracker
+ depend_tree["pn"][pn]["files_info"] = files_info
depend_tree["pn"][pn]["revision"] = prevision
if fnid not in seen_fnids:
--
1.7.9.5
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 3/6] packageinfo.bbclass : extended functionality
2013-03-28 8:23 [PATCH 0/6] Add file information to package information window Andrei Dinu
2013-03-28 8:23 ` [PATCH 1/6] cache_extra.py : added package information Andrei Dinu
2013-03-28 8:23 ` [PATCH 2/6] cooker.py : added variables related to cache_extra Andrei Dinu
@ 2013-03-28 8:23 ` Andrei Dinu
2013-03-28 18:54 ` Paul Eggleton
2013-03-28 8:23 ` [PATCH 4/6] propertydialog.py : added 'Package files' functionality Andrei Dinu
` (3 subsequent siblings)
6 siblings, 1 reply; 13+ messages in thread
From: Andrei Dinu @ 2013-03-28 8:23 UTC (permalink / raw)
To: bitbake-devel
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>
---
meta/classes/packageinfo.bbclass | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
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)))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 4/6] propertydialog.py : added 'Package files' functionality
2013-03-28 8:23 [PATCH 0/6] Add file information to package information window Andrei Dinu
` (2 preceding siblings ...)
2013-03-28 8:23 ` [PATCH 3/6] packageinfo.bbclass : extended functionality Andrei Dinu
@ 2013-03-28 8:23 ` Andrei Dinu
2013-03-28 8:23 ` [PATCH 5/6] hoblistmodel.py : passing the package information to hob Andrei Dinu
` (2 subsequent siblings)
6 siblings, 0 replies; 13+ messages in thread
From: Andrei Dinu @ 2013-03-28 8:23 UTC (permalink / raw)
To: bitbake-devel
Extended the packages page information with the
listing of the files brought in by every package.
Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
---
bitbake/lib/bb/ui/crumbs/hig/propertydialog.py | 94 +++++++++++++++++++++++-
1 file changed, 92 insertions(+), 2 deletions(-)
diff --git a/bitbake/lib/bb/ui/crumbs/hig/propertydialog.py b/bitbake/lib/bb/ui/crumbs/hig/propertydialog.py
index 4420f97..f4cf9a6 100644
--- a/bitbake/lib/bb/ui/crumbs/hig/propertydialog.py
+++ b/bitbake/lib/bb/ui/crumbs/hig/propertydialog.py
@@ -41,11 +41,11 @@ class PropertyDialog(CrumbsDialog):
super(PropertyDialog, self).__init__(title, parent, flags, buttons)
- self.properties = information
+ self.properties = information
if len(self.properties) == 10:
self.create_recipe_visual_elements()
- elif len(self.properties) == 4:
+ elif len(self.properties) == 5:
self.create_package_visual_elements()
else:
self.create_information_visual_elements()
@@ -56,6 +56,8 @@ class PropertyDialog(CrumbsDialog):
HOB_ICON_BASE_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), ("icons/"))
ICON_PACKAGES_DISPLAY_FILE = os.path.join(HOB_ICON_BASE_DIR, ('info/info_display.png'))
+ self.set_resizable(False)
+
self.table = gtk.Table(1,1,False)
self.table.set_row_spacings(0)
self.table.set_col_spacings(0)
@@ -86,6 +88,19 @@ class PropertyDialog(CrumbsDialog):
self.vbox.add(self.table)
+ def treeViewTooltip( self, widget, e, tooltips, cell, emptyText="" ):
+ try:
+ (path,col,x,y) = widget.get_path_at_pos( int(e.x), int(e.y) )
+ it = widget.get_model().get_iter(path)
+ value = widget.get_model().get_value(it,cell)
+ if value in self.tooltip_items:
+ tooltips.set_tip(widget, self.tooltip_items[value])
+ tooltips.enable()
+ else:
+ tooltips.set_tip(widget, emptyText)
+ except:
+ tooltips.set_tip(widget, emptyText)
+
def create_package_visual_elements(self):
@@ -93,7 +108,18 @@ class PropertyDialog(CrumbsDialog):
binb = self.properties['binb']
size = self.properties['size']
recipe = self.properties['recipe']
+ file_list = self.properties['files_list']
+
+ file_list = file_list.strip("{}'")
+ files_temp = ''
+ paths_temp = ''
+ files_binb = []
+ paths_binb = []
+ self.tooltip_items = {}
+
+ self.set_resizable(False)
+
#cleaning out the recipe variable
recipe = recipe.split("+")[0]
@@ -151,9 +177,71 @@ class PropertyDialog(CrumbsDialog):
self.vbox.add(self.label_short)
self.vbox.add(self.label_info)
+ #################################### FILES BROUGHT BY PACKAGES ###################################
+
+ if file_list != '':
+
+ self.textWindow = gtk.ScrolledWindow()
+ self.textWindow.set_shadow_type(gtk.SHADOW_IN)
+ self.textWindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+ self.textWindow.set_size_request(100, 170)
+
+ sstatemirrors_store = gtk.ListStore(str)
+
+ self.sstatemirrors_tv = gtk.TreeView()
+ self.sstatemirrors_tv.set_rules_hint(True)
+ self.sstatemirrors_tv.set_headers_visible(True)
+ self.textWindow.add(self.sstatemirrors_tv)
+
+ self.cell1 = gtk.CellRendererText()
+ col1 = gtk.TreeViewColumn('Package files', self.cell1)
+ col1.set_cell_data_func(self.cell1, self.regex_field)
+ self.sstatemirrors_tv.append_column(col1)
+
+ for items in file_list.split(']]'):
+ if len(items) > 1:
+ paths_temp = items.split(":")[0]
+ paths_binb.append(paths_temp.strip(" ,'"))
+ files_temp = items.split(":")[1]
+ files_binb.append(files_temp.strip(" ['"))
+
+ unsorted_list = []
+
+ for items in range(len(paths_binb)):
+ if len(files_binb[items]) > 1:
+ for aduse in (files_binb[items].split(",")):
+ unsorted_list.append(paths_binb[items].split(name)[len(paths_binb[items].split(name))-1] + '/' + aduse.strip(" '"))
+
+
+ unsorted_list.sort()
+ for items in unsorted_list:
+ temp = items
+ while len(items) > 35:
+ items = items[:len(items)/2] + "" + items[len(items)/2+1:]
+ if len(items) == 35:
+ items = items[:len(items)/2] + "..." + items[len(items)/2+3:]
+ self.tooltip_items[items] = temp
+
+ sstatemirrors_store.append([str(items)])
+
+
+ self.sstatemirrors_tv.set_model(sstatemirrors_store)
+
+ tips = gtk.Tooltips()
+ tips.set_tip(self.sstatemirrors_tv, "")
+ self.sstatemirrors_tv.connect("motion-notify-event", self.treeViewTooltip, tips, 0)
+ self.sstatemirrors_tv.set_events(gtk.gdk.POINTER_MOTION_MASK)
+
+ self.vbox.add(self.textWindow)
+
self.vbox.show_all()
+ def regex_field(self, column, cell, model, iter):
+ cell.set_property('text', model.get_value(iter, 0))
+ return
+
+
def create_recipe_visual_elements(self):
summary = self.properties['summary']
@@ -166,6 +254,8 @@ class PropertyDialog(CrumbsDialog):
homepage = self.properties['homepage']
bugtracker = self.properties['bugtracker']
description = self.properties['description']
+
+ self.set_resizable(False)
#cleaning out the version variable and also the summary
version = version.split(":")[1]
--
1.7.9.5
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 5/6] hoblistmodel.py : passing the package information to hob
2013-03-28 8:23 [PATCH 0/6] Add file information to package information window Andrei Dinu
` (3 preceding siblings ...)
2013-03-28 8:23 ` [PATCH 4/6] propertydialog.py : added 'Package files' functionality Andrei Dinu
@ 2013-03-28 8:23 ` Andrei Dinu
2013-03-28 8:23 ` [PATCH 6/6] packageselectionpage.py : added " Andrei Dinu
2013-03-28 18:45 ` [PATCH 0/6] Add file information to package information window Trevor Woerner
6 siblings, 0 replies; 13+ messages in thread
From: Andrei Dinu @ 2013-03-28 8:23 UTC (permalink / raw)
To: bitbake-devel
Added a new column to the model and also populating
it with the information brought in from the
packageinfo.bbclass.
Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
---
bitbake/lib/bb/ui/crumbs/hoblistmodel.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/bitbake/lib/bb/ui/crumbs/hoblistmodel.py b/bitbake/lib/bb/ui/crumbs/hoblistmodel.py
index 9b8db23..67d40e0 100644
--- a/bitbake/lib/bb/ui/crumbs/hoblistmodel.py
+++ b/bitbake/lib/bb/ui/crumbs/hoblistmodel.py
@@ -35,7 +35,7 @@ class PackageListModel(gtk.ListStore):
provide filtered views of the data.
"""
- (COL_NAME, COL_VER, COL_REV, COL_RNM, COL_SEC, COL_SUM, COL_RDEP, COL_RPROV, COL_SIZE, COL_RCP, COL_BINB, COL_INC, COL_FADE_INC, COL_FONT) = range(14)
+ (COL_NAME, COL_VER, COL_REV, COL_RNM, COL_SEC, COL_SUM, COL_RDEP, COL_RPROV, COL_SIZE, COL_RCP, COL_BINB, COL_INC, COL_FADE_INC, COL_FONT, COL_FLIST) = range(15)
__gsignals__ = {
"package-selection-changed" : (gobject.SIGNAL_RUN_LAST,
@@ -61,6 +61,7 @@ class PackageListModel(gtk.ListStore):
gobject.TYPE_STRING,
gobject.TYPE_BOOLEAN,
gobject.TYPE_BOOLEAN,
+ gobject.TYPE_STRING,
gobject.TYPE_STRING)
"""
@@ -199,6 +200,7 @@ class PackageListModel(gtk.ListStore):
rdep = getpkgvalue(pkginfo, 'RDEPENDS', pkg, "")
rrec = getpkgvalue(pkginfo, 'RRECOMMENDS', pkg, "")
rprov = getpkgvalue(pkginfo, 'RPROVIDES', pkg, "")
+ files_list = getpkgvalue(pkginfo, 'FILES_INFO', pkg, "")
for i in rprov.split():
self.rprov_pkg[i] = pkg
@@ -218,7 +220,7 @@ class PackageListModel(gtk.ListStore):
self.COL_RDEP, rdep + ' ' + rrec,
self.COL_RPROV, rprov, self.COL_SIZE, size,
self.COL_RCP, recipe, self.COL_BINB, "",
- self.COL_INC, False, self.COL_FONT, '10')
+ self.COL_INC, False, self.COL_FONT, '10', self.COL_FLIST, files_list)
self.pn_path = {}
it = self.get_iter_first()
--
1.7.9.5
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 6/6] packageselectionpage.py : added information to hob
2013-03-28 8:23 [PATCH 0/6] Add file information to package information window Andrei Dinu
` (4 preceding siblings ...)
2013-03-28 8:23 ` [PATCH 5/6] hoblistmodel.py : passing the package information to hob Andrei Dinu
@ 2013-03-28 8:23 ` Andrei Dinu
2013-03-28 18:45 ` [PATCH 0/6] Add file information to package information window Trevor Woerner
6 siblings, 0 replies; 13+ messages in thread
From: Andrei Dinu @ 2013-03-28 8:23 UTC (permalink / raw)
To: bitbake-devel
In order to have information for each package in hob,
a new item is added to the dictionary, represeting the
files that are brought in by each package.
Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
---
bitbake/lib/bb/ui/crumbs/packageselectionpage.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/bitbake/lib/bb/ui/crumbs/packageselectionpage.py b/bitbake/lib/bb/ui/crumbs/packageselectionpage.py
index 0bb4cb1..781d579 100755
--- a/bitbake/lib/bb/ui/crumbs/packageselectionpage.py
+++ b/bitbake/lib/bb/ui/crumbs/packageselectionpage.py
@@ -204,11 +204,12 @@ class PackageSelectionPage (HobPage):
path, col = widget.table_tree.get_cursor()
tree_model = widget.table_tree.get_model()
if path: # else activation is likely a removal
- properties = {'binb': '' , 'name': '', 'size':'', 'recipe':''}
+ properties = {'binb': '' , 'name': '', 'size':'', 'recipe':'', 'files_list':''}
properties['binb'] = tree_model.get_value(tree_model.get_iter(path), PackageListModel.COL_BINB)
properties['name'] = tree_model.get_value(tree_model.get_iter(path), PackageListModel.COL_NAME)
properties['size'] = tree_model.get_value(tree_model.get_iter(path), PackageListModel.COL_SIZE)
properties['recipe'] = tree_model.get_value(tree_model.get_iter(path), PackageListModel.COL_RCP)
+ properties['files_list'] = tree_model.get_value(tree_model.get_iter(path), PackageListModel.COL_FLIST)
self.builder.show_recipe_property_dialog(properties)
--
1.7.9.5
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 0/6] Add file information to package information window
2013-03-28 8:23 [PATCH 0/6] Add file information to package information window Andrei Dinu
` (5 preceding siblings ...)
2013-03-28 8:23 ` [PATCH 6/6] packageselectionpage.py : added " Andrei Dinu
@ 2013-03-28 18:45 ` Trevor Woerner
2013-03-28 18:58 ` Paul Eggleton
6 siblings, 1 reply; 13+ messages in thread
From: Trevor Woerner @ 2013-03-28 18:45 UTC (permalink / raw)
To: Andrei Dinu; +Cc: bitbake-devel
On Thu, Mar 28, 2013 at 4:23 AM, Andrei Dinu
<andrei.adrianx.dinu@intel.com> wrote:
> Listing the files that are brought into an image
> from each package.
This sounds like a great feature! Is this also available from the
bitbake command-line as well?
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/6] packageinfo.bbclass : extended functionality
2013-03-28 8:23 ` [PATCH 3/6] packageinfo.bbclass : extended functionality Andrei Dinu
@ 2013-03-28 18:54 ` Paul Eggleton
2013-03-29 10:42 ` Richard Purdie
0 siblings, 1 reply; 13+ messages in thread
From: Paul Eggleton @ 2013-03-28 18:54 UTC (permalink / raw)
To: Andrei Dinu; +Cc: bitbake-devel
Hi Andrei,
On Thursday 28 March 2013 10:23:19 Andrei Dinu wrote:
> 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>
> ---
> meta/classes/packageinfo.bbclass | 21 +++++++++++++++++++++
> 1 file changed, 21 insertions(+)
>
> 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)))
This is a change against the metadata rather than BitBake; it needs to be sent
separately to the OE-Core mailing list.
Before you send it there however, you really need to be using the PKGDEST
variable instead of composing the path to packages-split using hardcoded path
components.
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/6] Add file information to package information window
2013-03-28 18:45 ` [PATCH 0/6] Add file information to package information window Trevor Woerner
@ 2013-03-28 18:58 ` Paul Eggleton
0 siblings, 0 replies; 13+ messages in thread
From: Paul Eggleton @ 2013-03-28 18:58 UTC (permalink / raw)
To: Trevor Woerner; +Cc: bitbake-devel
On Thursday 28 March 2013 14:45:13 Trevor Woerner wrote:
> On Thu, Mar 28, 2013 at 4:23 AM, Andrei Dinu
> <andrei.adrianx.dinu@intel.com> wrote:
> > Listing the files that are brought into an image
> > from each package.
>
> This sounds like a great feature! Is this also available from the
> bitbake command-line as well?
Just so it's clear, this information is only available after packages have
been built, and is saved in the tmp/pkgdata directory. I'm not sure if it
would really be appropriate to add this functionality to BitBake itself,
however in OE-Core there's a very basic command-line tool called oe-pkgdata-
util which performs one type of querying on the pkgdata/ directory and could
be extended to query the package file lists.
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/6] packageinfo.bbclass : extended functionality
2013-03-28 18:54 ` Paul Eggleton
@ 2013-03-29 10:42 ` Richard Purdie
2013-03-29 13:35 ` Andrei Dinu
0 siblings, 1 reply; 13+ messages in thread
From: Richard Purdie @ 2013-03-29 10:42 UTC (permalink / raw)
To: Paul Eggleton; +Cc: bitbake-devel
On Thu, 2013-03-28 at 18:54 +0000, Paul Eggleton wrote:
> Hi Andrei,
>
> On Thursday 28 March 2013 10:23:19 Andrei Dinu wrote:
> > 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>
> > ---
> > meta/classes/packageinfo.bbclass | 21 +++++++++++++++++++++
> > 1 file changed, 21 insertions(+)
> >
> > 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)))
>
> This is a change against the metadata rather than BitBake; it needs to be sent
> separately to the OE-Core mailing list.
>
> Before you send it there however, you really need to be using the PKGDEST
> variable instead of composing the path to packages-split using hardcoded path
> components.
Sorry, I missed this feedback. Can you please send a follow up patch to
the OE-Core list addressing the PKGDEST issue.
Thanks,
Richard
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/6] packageinfo.bbclass : extended functionality
2013-03-29 10:42 ` Richard Purdie
@ 2013-03-29 13:35 ` Andrei Dinu
0 siblings, 0 replies; 13+ messages in thread
From: Andrei Dinu @ 2013-03-29 13:35 UTC (permalink / raw)
To: Richard Purdie; +Cc: bitbake-devel
Hi Paul, Richard,
Thanks for the heads-up. I will look into PKDEST variable to replace all the
hardcoded paths in there and send the patch on the right list.
Thanks,
Andrei Dinu
On 03/29/2013 12:42 PM, Richard Purdie wrote:
> On Thu, 2013-03-28 at 18:54 +0000, Paul Eggleton wrote:
>> Hi Andrei,
>>
>> On Thursday 28 March 2013 10:23:19 Andrei Dinu wrote:
>>> 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>
>>> ---
>>> meta/classes/packageinfo.bbclass | 21 +++++++++++++++++++++
>>> 1 file changed, 21 insertions(+)
>>>
>>> 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)))
>> This is a change against the metadata rather than BitBake; it needs to be sent
>> separately to the OE-Core mailing list.
>>
>> Before you send it there however, you really need to be using the PKGDEST
>> variable instead of composing the path to packages-split using hardcoded path
>> components.
> Sorry, I missed this feedback. Can you please send a follow up patch to
> the OE-Core list addressing the PKGDEST issue.
>
> Thanks,
>
> Richard
>
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2013-03-29 13:51 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-28 8:23 [PATCH 0/6] Add file information to package information window Andrei Dinu
2013-03-28 8:23 ` [PATCH 1/6] cache_extra.py : added package information Andrei Dinu
2013-03-28 8:23 ` [PATCH 2/6] cooker.py : added variables related to cache_extra Andrei Dinu
2013-03-28 8:23 ` [PATCH 3/6] packageinfo.bbclass : extended functionality Andrei Dinu
2013-03-28 18:54 ` Paul Eggleton
2013-03-29 10:42 ` Richard Purdie
2013-03-29 13:35 ` Andrei Dinu
2013-03-28 8:23 ` [PATCH 4/6] propertydialog.py : added 'Package files' functionality Andrei Dinu
2013-03-28 8:23 ` [PATCH 5/6] hoblistmodel.py : passing the package information to hob Andrei Dinu
2013-03-28 8:23 ` [PATCH 6/6] packageselectionpage.py : added " Andrei Dinu
2013-03-28 18:45 ` [PATCH 0/6] Add file information to package information window Trevor Woerner
2013-03-28 18:58 ` Paul Eggleton
-- strict thread matches above, loose matches on Subject: below --
2013-03-27 10:27 Andrei Dinu
2013-03-27 10:27 ` [PATCH 3/6] packageinfo.bbclass : extended functionality Andrei Dinu
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.