On Tue, 11 Aug 2009, James Antill wrote:

On Tue, 2009-08-11 at 16:59 -0400, Seth Vidal wrote:
There are probably more typeso f insanity here - and some more tests to define 
and I commented
about that in the code.
---
 rpmUtils/miscutils.py |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/rpmUtils/miscutils.py b/rpmUtils/miscutils.py
index f494fc3..d76f3a8 100644
--- a/rpmUtils/miscutils.py
+++ b/rpmUtils/miscutils.py
@@ -173,8 +173,14 @@ def rangeCompare(reqtuple, provtuple):
         if reqf in ['GT', 'GE', 4, 12]:
             return 1
         if reqf in ['EQ', 8]:
-            if f in ['LE', 10]:
+            if f in ['LE', 10, 'LT', 2]:
                 return 1
+        # there is more to be done here to make sure it is right
+        # my brain melted trying to map these- skvidal 8/11/2009
+        if reqf in ['LT', 2]:
+            if f in ['LT', 2]:
+                return 1
+


I'm 99% sure this should mirror the <= cases for GE/GT/etc. so where
that is:

       if reqf in ['GT', 'GE', 'EQ', 4, 12, 8]:
           if f in ['GT', 'GE', 4, 12]:
               return 1
       if reqf in ['LE', 'LT', 10, 2]:
           return 1

...I think you want:

       if reqf in ['LE', 'LT', 'EQ', 10, 2, 8]:
           if f in ['LE', 'LT', 10, 2]:
               return 1
       if reqf in ['GT', 'GE', 4, 12]:
           return 1

...after your patch the following will fail, and should succeed:

Before my patch all of those will fail, too.



rpmUtils.miscutils.rangeCompare(('E', 'LE', ('0', '1.0', '0')),
                               ('E', 'LE', ('0', '1.1', '0')))
rpmUtils.miscutils.rangeCompare(('E', 'LT', ('0', '1.0', '0')),
                               ('E', 'LE', ('0', '1.1', '0')))
rpmUtils.miscutils.rangeCompare(('E', 'LE', ('0', '1.0', '0')),
                               ('E', 'LT', ('0', '1.1', '0')))


I've got no problem fixing more of the cases - as per my comment in the code, I just was trying to unbreak the specific brokenness.


-sv

_______________________________________________
Yum-devel mailing list
Yum-devel@lists.baseurl.org
http://lists.baseurl.org/mailman/listinfo/yum-devel

Reply via email to