[yum-git] Branch 'yum-3_2_X' - test/depsolvetests.py yum/depsolve.py

James Antill james at linux.duke.edu
Sat Aug 9 19:37:52 UTC 2008


 test/depsolvetests.py |   34 ++++++++++++++++++++++++++++++++++
 yum/depsolve.py       |    5 +++--
 2 files changed, 37 insertions(+), 2 deletions(-)

New commits:
commit 8143fce2224125d94c4f91771dc8a37291b3dcfe
Author: James Antill <james at and.org>
Date:   Sat Aug 9 15:37:49 2008 -0400

    Add test_multi_inst_dep[45] and tweak the comments for _sort_reqs

diff --git a/test/depsolvetests.py b/test/depsolvetests.py
index a0e607b..a0fc9bc 100644
--- a/test/depsolvetests.py
+++ b/test/depsolvetests.py
@@ -1041,3 +1041,37 @@ class DepsolveTests(DepsolveTests):
 
         self.assertEquals('ok', *self.resolveCode())
         self.assertResult((ipo1, po1))
+
+    def test_multi_inst_dep4(self):
+        ipo1 = FakePackage('foo')
+        ipo1.addRequires('libbar-prov1.so.0()', None, (None, None, None))
+        ipo1.addRequires('bar-prov2', None, (None, None, None))
+        self.tsInfo.addInstall(ipo1)
+
+        po1 = FakePackage('bar')
+        po1.addProvides('libbar-prov1.so.0()', None, (None, None, None))
+        po1.addProvides('bar-prov2', None, (None, None, None))
+        self.xsack.addPackage(po1)
+        po2 = FakePackage('baz')
+        po2.addProvides('libbar-prov1.so.0()', None, (None, None, None))
+        self.xsack.addPackage(po2)
+
+        self.assertEquals('ok', *self.resolveCode())
+        self.assertResult((ipo1, po1))
+
+    def test_multi_inst_dep5(self):
+        ipo1 = FakePackage('foo')
+        ipo1.addRequires('libbar-prov1.so.0()', None, (None, None, None))
+        ipo1.addRequires('bar-prov2', None, (None, None, None))
+        self.tsInfo.addInstall(ipo1)
+
+        po1 = FakePackage('bar')
+        po1.addProvides('libbar-prov1.so.0()', None, (None, None, None))
+        po1.addProvides('bar-prov2', None, (None, None, None))
+        po2 = FakePackage('baz')
+        po2.addProvides('libbar-prov1.so.0()', None, (None, None, None))
+        self.xsack.addPackage(po2)
+        self.xsack.addPackage(po1)
+
+        self.assertEquals('ok', *self.resolveCode())
+        self.assertResult((ipo1, po1))
diff --git a/yum/depsolve.py b/yum/depsolve.py
index 431190c..0cad1ab 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -802,7 +802,7 @@ class Depsolve(object):
         if ret:
             return ret
 
-        # This is pretty magic, basically we want and explicit:
+        # This is pretty magic, basically we want an explicit:
         #
         #  Requires: foo
         #
@@ -810,7 +810,8 @@ class Depsolve(object):
         #
         #  Requires: libfoo.so.0()
         #
-        # ...need more magic for other implicit deps. here?
+        # ...because sometimes the libfoo.so.0() is provided by multiple
+        # packages. Do we need more magic for other implicit deps. here?
         def _req_name2val(name):
             if (name.startswith("lib") and
                 (name.endswith("()") or name.endswith("()(64bit)"))):



More information about the Yum-cvs-commits mailing list