[yum-commits] yum/depsolve.py

James Antill james at osuosl.org
Thu Feb 20 14:43:24 UTC 2014


 yum/depsolve.py |   12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

New commits:
commit 5edaeb0c6379c94792cf429963fe9c94ca5d1591
Author: James Antill <james at and.org>
Date:   Tue Feb 18 14:04:37 2014 -0500

    Workaround for weird mash issue, probably.

diff --git a/yum/depsolve.py b/yum/depsolve.py
index 1840b43..cb0ebea 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -731,8 +731,18 @@ class Depsolve(object):
                 #  Stuff looks like: ('/foo', 0, '') ... might be just testing
                 # noise, but meh.
                 reqtuple = (requirement[0], requirement[1], (None, None, None))
-            else:
+            elif len(requirement) == 3 and len(requirement[2]) == 3:
+                # Without the above check, we've hit this in mash:
+                #  File "/usr/.../yum/__init__.py", line 4862, in install
+                #    if not obsoleting_pkg.provides_for(kwargs['provides_for']):
+                #  File "/usr/.../yum/packages.py", line 594, in provides_for
+                #    if self.checkPrco('provides', reqtuple):
+                #   File "/usr/.../yum/packages.py", line 544, in checkPrco
+                #    (reqn, reqf, (reqe, reqv ,reqr)) = prcotuple
+                # ValueError: too many values to unpack
                 reqtuple = requirement
+            else:
+                reqtuple = misc.string_to_prco_tuple(needname + str(needflags) + needversion)
             txmbrs = self.install(best, provides_for=reqtuple)
             for txmbr in txmbrs:
                 txmbr.setAsDep(po=requiringPo)


More information about the Yum-commits mailing list