]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/cruft.py
Finds newer or equal versions in lowersuite_name
[dak.git] / daklib / cruft.py
index baa5efe9a1ca98f132902ff5ea7802e3861f25ea..fc98eafbea857dc89baae84f7240b4879d0137d7 100644 (file)
@@ -28,10 +28,10 @@ from sqlalchemy.orm import object_session
 
 def newer_version(lowersuite_name, highersuite_name, session):
     '''
-    Finds newer versions in lowersuite_name than in highersuite_name. Returns a
-    list of tuples (source, higherversion, lowerversion) where higherversion is
-    the newest version from highersuite_name and lowerversion is the newest
-    version from lowersuite_name.
+    Finds newer or equal versions in lowersuite_name than in highersuite_name.
+    Returns a list of tuples (source, higherversion, lowerversion) where
+    higherversion is the newest version from highersuite_name and lowerversion
+    is the newest version from lowersuite_name.
     '''
 
     lowersuite = get_suite(lowersuite_name, session)
@@ -43,7 +43,7 @@ def newer_version(lowersuite_name, highersuite_name, session):
     list = []
     for (source, higherversion) in query:
         lowerversion = session.query(func.max(DBSource.version)). \
-            filter_by(source = source).filter(DBSource.version > higherversion). \
+            filter_by(source = source).filter(DBSource.version >= higherversion). \
             with_parent(lowersuite).group_by(DBSource.source).scalar()
         if lowerversion is not None:
             list.append((source, higherversion, lowerversion))
@@ -92,7 +92,7 @@ class DejavuBinary(object):
         # are in the right suite.
         bin_query = suite.binaries.filter_by(package = package).subquery()
         src_query = session.query(DBSource.source).with_parent(suite). \
-            join(bin_query).group_by(DBSource.source)
+            join(bin_query).order_by(DBSource.source).group_by(DBSource.source)
         self.sources = []
         if src_query.count() > 1:
             for source, in src_query:
@@ -118,3 +118,4 @@ def report_multiple_source(suite):
         binary = DejavuBinary(suite, package)
         if binary.has_multiple_sources():
             print binary
+    print