[Yum-devel] [PATCH] make sure we use rpm ver cmp for the sort of the glibc requires

seth vidal skvidal at fedoraproject.org
Wed May 4 17:59:50 UTC 2011


On Wed, 2011-05-04 at 19:48 +0200, tim.lauridsen at gmail.com wrote:
> 
> 
> On Wed, May 4, 2011 at 3:45 PM, Seth Vidal <skvidal at fedoraproject.org>
> wrote:
>         when we're doing  collapse_libc_requires.
>         ultimately what's causing:
>         https://bugzilla.redhat.com/show_bug.cgi?id=701744
>         ---
>          rpmUtils/miscutils.py |    4 ++++
>          yum/packages.py       |    9 +++++++--
>          2 files changed, 11 insertions(+), 2 deletions(-)
>         
>         diff --git a/rpmUtils/miscutils.py b/rpmUtils/miscutils.py
>         index cdb1cb6..aea4550 100644
>         --- a/rpmUtils/miscutils.py
>         +++ b/rpmUtils/miscutils.py
>         @@ -54,6 +54,10 @@ def compareEVR((e1, v1, r1), (e2, v2, r2)):
>             #print '%s, %s, %s vs %s, %s, %s = %s' % (e1, v1, r1, e2,
>         v2, r2, rc)
>             return rc
>         
>         +def compareVerOnly(v1, v2):
>         +    """compare version strings only using rpm vercmp"""
>         +    return compareEVR(('', v1, ''), ('', v2, ''))
>         +
>          def checkSig(ts, package):
>             """Takes a transaction set and a package, check it's sigs,
>             return 0 if they are all fine
>         diff --git a/yum/packages.py b/yum/packages.py
>         index 264aa9a..e745a1a 100644
>         --- a/yum/packages.py
>         +++ b/yum/packages.py
>         @@ -31,11 +31,12 @@ import warnings
>          from subprocess import Popen, PIPE
>          from rpmUtils import RpmUtilsError
>          import rpmUtils.miscutils
>         -from rpmUtils.miscutils import flagToString, stringToVersion
>         +from rpmUtils.miscutils import flagToString, stringToVersion,
>         compareVerOnly
>          import Errors
>          import errno
>          import struct
>          from constants import *
>         +from operator import itemgetter
>         
>          import urlparse
>          urlparse.uses_fragment.append("media")
>         @@ -1139,7 +1140,11 @@ class
>         YumAvailablePackage(PackageObject, RpmBase):
>                 if hasattr(self, '_collapse_libc_requires') and
>         self._collapse_libc_requires:
>                     libc_requires = filter(lambda x:
>         x[0].startswith('libc.so.6'), mylist)
>                     if libc_requires:
>         -                best = sorted(libc_requires)[-1]
>         +                print libc_requires
>         +                rest = sorted(libc_requires,
>         cmp=compareVerOnly, key=itemgetter(0))
>         +                best = rest.pop()
>         +                if best[0].startswith('libc.so.6()'):
>         +                    best = rest.pop()
>                         newlist = []
>                         for i in mylist:
>                             if i[0].startswith('libc.so.6') and i !=
>         best:
>         --
>         1.7.4
>         
>         _______________________________________________
>         Yum-devel mailing list
>         Yum-devel at lists.baseurl.org
>         http://lists.baseurl.org/mailman/listinfo/yum-devel
> 
> The print statement should not be there :) else ACK
> 
> 

yep - james caught that, too.

sorry

fixed

-sv





More information about the Yum-devel mailing list