[yum-cvs] yum/depsolve.py
Jeremy Katz
katzj at linux.duke.edu
Fri Oct 12 13:33:01 UTC 2007
yum/depsolve.py | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
New commits:
commit 71f4aa6339f25792a8e5f3eabb63fa93b8237b88
Author: Jeremy Katz <katzj at redhat.com>
Date: Fri Oct 12 09:30:40 2007 -0400
fix requirements moving to new packages when a package is obsoleted
diff --git a/yum/depsolve.py b/yum/depsolve.py
index d3a8575..3f0f962 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -283,7 +283,7 @@ class Depsolve(object):
else:
self.verbose_logger.log(logginglevels.DEBUG_2, 'Needed Require is not a package name. Looking up: %s', niceformatneed)
providers = self.rpmdb.getProvides(needname, needflags, needversion)
-
+
for inst_po in providers:
inst_str = '%s.%s %s:%s-%s' % inst_po.pkgtup
(i_n, i_a, i_e, i_v, i_r) = inst_po.pkgtup
@@ -299,7 +299,14 @@ class Depsolve(object):
if thismode is None and i_n not in self.conf.exactarchlist:
# check for mode by just the name
thismode = self.tsInfo.getMode(name=i_n)
-
+
+ # if this package is being obsoleted, it's just like if it's
+ # being upgraded as far as checking for other providers
+ if thismode is None:
+ if filter(lambda x: x.obsoleted_by,
+ self.tsInfo.matchNaevr(i_n, i_a, i_e, i_v, i_r)):
+ thismode = 'u'
+
if thismode is not None:
needmode = thismode
More information about the Yum-cvs-commits
mailing list