[yum-cvs] yum/yum depsolve.py,1.170,1.171

Seth Vidal skvidal at linux.duke.edu
Tue Jun 26 16:01:03 UTC 2007


Update of /home/groups/yum/cvs/yum/yum
In directory login1.linux.duke.edu:/tmp/cvs-serv29447/yum

Modified Files:
	depsolve.py 
Log Message:
check installed pkgs for conflicts against installing pkgs
closes bug: 245707



Index: depsolve.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/depsolve.py,v
retrieving revision 1.170
retrieving revision 1.171
diff -u -r1.170 -r1.171
--- depsolve.py	19 Jun 2007 21:54:53 -0000	1.170
+++ depsolve.py	26 Jun 2007 16:01:01 -0000	1.171
@@ -997,7 +997,18 @@
                         ret.append( ((txmbr.name, txmbr.version, txmbr.release),
                                      (r, version_tuple_to_string(v)), flags[f],
                                      None, rpm.RPMDEP_SENSE_CONFLICTS) )
-                    
+        
+        for instpkg in self.rpmdb.searchConflicts(txmbr.name):
+            prcotuple = (txmbr.name, 'EQ', (txmbr.epoch, txmbr.version, txmbr.release))
+            if instpkg.checkPrco('conflicts', prcotuple):
+                # if the conflict-having-version is being removed then well, it doesn't matter
+                if self.tsInfo.getMembersWithState(instpkg.pkgtup, output_states=TS_REMOVE_STATES):
+                    continue
+                instevr = (instpkg.epoch, instpkg.ver, instpkg.rel)
+                ret.append( ((txmbr.name, txmbr.version, txmbr.release),
+                             (instpkg.name, version_tuple_to_string(instevr)), rpm.RPMSENSE_EQUAL,
+                                     None, rpm.RPMDEP_SENSE_CONFLICTS) )
+                
         return ret
 
     def _checkRemove(self, txmbr):




More information about the Yum-cvs-commits mailing list