X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fcruft.py;h=fc98eafbea857dc89baae84f7240b4879d0137d7;hb=54569e4d33f3634d1089df7666ddd7fbc3b0a86d;hp=cea4f23a869333411d7e3c0fbbd05be6c6023fcb;hpb=44f55c9ddfd13d17e725a473ca1b683dd502d155;p=dak.git diff --git a/daklib/cruft.py b/daklib/cruft.py index cea4f23a..fc98eafb 100644 --- a/daklib/cruft.py +++ b/daklib/cruft.py @@ -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: