diff options
author | Dongxiao Xu <dongxiao.xu@intel.com> | 2012-02-29 22:15:21 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-03-01 15:51:35 +0000 |
commit | 24883b4fc72432f9d12df7682dfd4207a719060b (patch) | |
tree | 614766862bf46d148d948825f9cfeec92a583cb4 /bitbake/lib/bb/ui/crumbs/hoblistmodel.py | |
parent | 61d2081d2411e5e709bf6959f486e286b20477f4 (diff) | |
download | ast2050-yocto-poky-24883b4fc72432f9d12df7682dfd4207a719060b.zip ast2050-yocto-poky-24883b4fc72432f9d12df7682dfd4207a719060b.tar.gz |
Hob(crumbs/hoblistmodel.py): Add mapping for rprovides and pkg
When checking the package's RDEPENDS information, we will see some case like
A RDEPENDS virtual-b, and B RPROVIDES virtual-b, we need to reflect this relationship
in packaging selection.
(Bitbake rev: 44562593556e67d7976a124d5a420938aff95e0c)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/hoblistmodel.py')
-rw-r--r-- | bitbake/lib/bb/ui/crumbs/hoblistmodel.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/hoblistmodel.py b/bitbake/lib/bb/ui/crumbs/hoblistmodel.py index e440979..0b7c0cb 100644 --- a/bitbake/lib/bb/ui/crumbs/hoblistmodel.py +++ b/bitbake/lib/bb/ui/crumbs/hoblistmodel.py @@ -51,6 +51,7 @@ class PackageListModel(gtk.TreeStore): self.pkgs_size = 0 self.pn_path = {} self.pkg_path = {} + self.rprov_pkg = {} gtk.TreeStore.__init__ (self, gobject.TYPE_STRING, @@ -71,10 +72,15 @@ class PackageListModel(gtk.TreeStore): Returns the path in the model or None """ def find_path_for_item(self, item_name): + pkg = item_name if item_name not in self.pkg_path.keys(): - return None - else: - return self.pkg_path[item_name] + if item_name not in self.rprov_pkg.keys(): + return None + pkg = self.rprov_pkg[item_name] + if pkg not in self.pkg_path.keys(): + return None + + return self.pkg_path[pkg] def find_item_for_path(self, item_path): return self[item_path][self.COL_NAME] @@ -137,6 +143,7 @@ class PackageListModel(gtk.TreeStore): self.pkgs_size = 0 self.pn_path = {} self.pkg_path = {} + self.rprov_pkg = {} for pkginfo in pkginfolist: pn = pkginfo['PN'] @@ -160,6 +167,8 @@ class PackageListModel(gtk.TreeStore): rdep = pkginfo['RDEPENDS_%s' % pkg] if 'RDEPENDS_%s' % pkg in pkginfo.keys() else "" rrec = pkginfo['RRECOMMENDS_%s' % pkg] if 'RRECOMMENDS_%s' % pkg in pkginfo.keys() else "" rprov = pkginfo['RPROVIDES_%s' % pkg] if 'RPROVIDES_%s' % pkg in pkginfo.keys() else "" + for i in rprov.split(): + self.rprov_pkg[i] = pkg if 'ALLOW_EMPTY_%s' % pkg in pkginfo.keys(): allow_empty = pkginfo['ALLOW_EMPTY_%s' % pkg] |