[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