]> git.ipfire.org Git - pakfire.git/commitdiff
Create proper sorting and package selection for same packages in different repositories.
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 13 Feb 2011 14:28:32 +0000 (15:28 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 13 Feb 2011 14:28:32 +0000 (15:28 +0100)
pakfire/packages/base.py
pakfire/repository.py

index d6c0dcf6250be90143ecf25658bba91829708f4a..5a562c3f0f0522bee4a0c36505189dab1066e4f6 100644 (file)
@@ -33,6 +33,10 @@ class Package(object):
                #elif ret > 0:
                #       logging.debug("%s is more recent than %s" % (self, other))
 
+               # If no rank could be created, sort by repository priority
+               if not ret:
+                       ret = cmp(self.repo, other.repo)
+
                return ret
 
        def dump(self, short=False):
index 79f85f787809dfc0a6099232245bb5b3a39d4935..e17d72d9c2c6af7ce5b5734dd8c79e0db151da75 100644 (file)
@@ -142,7 +142,8 @@ class RepositoryFactory(object):
                return "<%s %s>" % (self.__class__.__name__, self.name)
 
        def __cmp__(self, other):
-               return cmp(self.priority, other.priority) or cmp(self.name, other.name)
+               return cmp(self.priority * -1, other.priority * -1) or \
+                       cmp(self.name, other.name)
 
        @property
        def priority(self):