X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fcruft.py;h=fc98eafbea857dc89baae84f7240b4879d0137d7;hb=3fdc59341583e43920c31f820282314cc9fc8e93;hp=baa5efe9a1ca98f132902ff5ea7802e3861f25ea;hpb=4d15379ff67d213c08b94edca3634829436cb676;p=dak.git diff --git a/daklib/cruft.py b/daklib/cruft.py index baa5efe9..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: @@ -118,3 +118,4 @@ def report_multiple_source(suite): binary = DejavuBinary(suite, package) if binary.has_multiple_sources(): print binary + print