From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com ([134.134.136.20]) by linuxtogo.org with esmtp (Exim 4.72) (envelope-from ) id 1TB5HO-0007XA-6e for openembedded-core@lists.openembedded.org; Mon, 10 Sep 2012 16:48:03 +0200 Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP; 10 Sep 2012 07:35:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.80,398,1344236400"; d="scan'208";a="200800349" Received: from unknown (HELO helios.ger.corp.intel.com) ([10.252.121.193]) by orsmga002.jf.intel.com with ESMTP; 10 Sep 2012 07:35:20 -0700 From: Paul Eggleton To: openembedded-core@lists.openembedded.org Date: Mon, 10 Sep 2012 15:35:05 +0100 Message-Id: <1347287705-25453-1-git-send-email-paul.eggleton@linux.intel.com> X-Mailer: git-send-email 1.7.9.5 Subject: [PATCH] hob: use correct semantics for dealing with pkgdata X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2012 14:48:03 -0000 Some of these values may or may not be overridden on a per-package basis, so handle them accordingly. Signed-off-by: Paul Eggleton --- bitbake/lib/bb/ui/crumbs/hoblistmodel.py | 35 +++++++++++++++++------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/bitbake/lib/bb/ui/crumbs/hoblistmodel.py b/bitbake/lib/bb/ui/crumbs/hoblistmodel.py index 10b7c55..66b0efa 100644 --- a/bitbake/lib/bb/ui/crumbs/hoblistmodel.py +++ b/bitbake/lib/bb/ui/crumbs/hoblistmodel.py @@ -145,6 +145,12 @@ class PackageListModel(gtk.TreeStore): self.pkg_path = {} self.rprov_pkg = {} + def getpkgvalue(pkgdict, key, pkgname, defaultval = None): + value = pkgdict.get('%s_%s' % (key, pkgname), None) + if not value: + value = pkgdict.get(key, defaultval) + return value + for pkginfo in pkginfolist: pn = pkginfo['PN'] pv = pkginfo['PV'] @@ -157,25 +163,24 @@ class PackageListModel(gtk.TreeStore): self.COL_INC, False) self.pn_path[pn] = self.get_path(pniter) + # PKG is always present pkg = pkginfo['PKG'] - pkgv = pkginfo['PKGV'] - pkgr = pkginfo['PKGR'] - pkgsize = pkginfo['PKGSIZE_%s' % pkg] if 'PKGSIZE_%s' % pkg in pkginfo.keys() else "0" - pkg_rename = pkginfo['PKG_%s' % pkg] if 'PKG_%s' % pkg in pkginfo.keys() else "" - section = pkginfo['SECTION_%s' % pkg] if 'SECTION_%s' % pkg in pkginfo.keys() else "" - summary = pkginfo['SUMMARY_%s' % pkg] if 'SUMMARY_%s' % pkg in pkginfo.keys() else "" - 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 "" + pkgv = getpkgvalue(pkginfo, 'PKGV', pkg) + pkgr = getpkgvalue(pkginfo, 'PKGR', pkg) + # PKGSIZE is artificial, will always be overridden with the package name if present + pkgsize = pkginfo.get('PKGSIZE_%s' % pkg, "0") + # PKG_%s is the renamed version + pkg_rename = pkginfo.get('PKG_%s' % pkg, "") + # The rest may be overridden or not + section = getpkgvalue(pkginfo, 'SECTION', pkg, "") + summary = getpkgvalue(pkginfo, 'SUMMARY', pkg, "") + rdep = getpkgvalue(pkginfo, 'RDEPENDS', pkg, "") + rrec = getpkgvalue(pkginfo, 'RRECOMMENDS', pkg, "") + rprov = getpkgvalue(pkginfo, 'RPROVIDES', pkg, "") 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] - elif 'ALLOW_EMPTY' in pkginfo.keys(): - allow_empty = pkginfo['ALLOW_EMPTY'] - else: - allow_empty = "" + allow_empty = getpkgvalue(pkginfo, 'ALLOW_EMPTY', pkg, "") if pkgsize == "0" and not allow_empty: continue -- 1.7.9.5