[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