[Yum-devel] [PATCH] Fix test "regression" in inst_require_obsoletes1 for ObsoletesOffPostAvail2+

James Antill james at and.org
Fri Oct 14 20:27:25 UTC 2011


---
 test/depsolvetests.py |    7 ++++---
 yum/depsolve.py       |    6 ++++++
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/test/depsolvetests.py b/test/depsolvetests.py
index 7af3f16..ea47b03 100644
--- a/test/depsolvetests.py
+++ b/test/depsolvetests.py
@@ -1130,9 +1130,10 @@ class DepsolveTests(DepsolveTests):
         # FIXME: Does it make sense to ignore the obsoletes here? esp. as we
         # don't ignore the conflicts above? ... I'm guessing ignoring it is
         # by accident too? bah.
-        # self.assertEquals('err', *self.resolveCode())
-        self.assertEquals('ok', *self.resolveCode())
-        self.assertResult((ipo1, po1))
+        self.assertEquals('err', *self.resolveCode())
+        # Old behaviour:
+        # self.assertEquals('ok', *self.resolveCode())
+        # self.assertResult((ipo1, po1))
 
     def testUpdate_so_req_diff_arch(self):
         rpo1 = FakePackage('foozoomer')
diff --git a/yum/depsolve.py b/yum/depsolve.py
index 7e74880..c518311 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -849,6 +849,12 @@ class Depsolve(object):
                                 continue
                             if otxmbr.po.obsoletedBy([txmbr.po]):
                                 self.tsInfo.remove(otxmbr.pkgtup)
+                                #  We need to remove an obsoleted entry that
+                                # was maybe used to resolve something ... ?
+                                CheckDeps = True
+                                self._last_req = None
+                                self.pkgSack.delPackage(otxmbr.po)
+                                self.up.delPackage(otxmbr.pkgtup)
 
                 if CheckDeps:
                     if self.dsCallback: self.dsCallback.restartLoop()
-- 
1.7.6.4



More information about the Yum-devel mailing list