[yum-cvs] yum/yum packages.py,1.48,1.49
Jack Neely
slack at linux.duke.edu
Wed Jul 5 18:43:04 UTC 2006
Update of /home/groups/yum/cvs/yum/yum
In directory login1.linux.duke.edu:/tmp/cvs-serv27955/yum
Modified Files:
packages.py
Log Message:
Populate the PRCO information for YumHeaderPackage and subclasses. This
makes examining installed packages a little saner.
Index: packages.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/packages.py,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- packages.py 27 Jun 2006 04:49:27 -0000 1.48
+++ packages.py 5 Jul 2006 18:43:02 -0000 1.49
@@ -489,6 +489,8 @@
self.summary = self.tagByName('summary')
self.description = self.tagByName('description')
self.pkgid = self.tagByName(rpm.RPMTAG_SHA1HEADER)
+
+ self._populatePrco()
def __str__(self):
if self.epoch == '0':
@@ -499,6 +501,22 @@
self.release, self.arch)
return val
+ def _populatePrco(self):
+ "Populate the package object with the needed PRCO interface."
+
+ for tag in ['OBSOLETE', 'CONFLICT', 'REQUIRE', 'PROVIDE']:
+ name = self.hdr[getattr(rpm, 'RPMTAG_%sNAME' % tag)]
+
+ list = self.hdr[getattr(rpm, 'RPMTAG_%sFLAGS' % tag)]
+ flag = [ rpmUtils.miscutils.flagToString(i) for i in list ]
+
+ list = self.hdr[getattr(rpm, 'RPMTAG_%sVERSION' % tag)]
+ vers = [ rpmUtils.miscutils.stringToVersion(i) for i in list ]
+
+ prcotype = tag.lower() + 's'
+ if name is not None:
+ self.prco[prcotype] = zip(name, flag, vers)
+
def tagByName(self, tag):
data = self.hdr[tag]
return data
More information about the Yum-cvs-commits
mailing list