]> git.donarmstrong.com Git - dak.git/commitdiff
Merge remote branch 'drkranz/master' into merge
authorJoerg Jaspert <joerg@debian.org>
Tue, 22 Jun 2010 19:11:03 +0000 (21:11 +0200)
committerJoerg Jaspert <joerg@debian.org>
Tue, 22 Jun 2010 19:11:03 +0000 (21:11 +0200)
* drkranz/master:
  Fix do_newer_version package detection

Signed-off-by: Joerg Jaspert <joerg@debian.org>
dak/cruft_report.py

index b9ddf5f72a5a6adaf9e006f5a5487bf0b8d7750c..ee1dcdef922a884cbe63d800584ef574fe5ace2a 100755 (executable)
@@ -198,10 +198,14 @@ def do_newer_version(lowersuite_name, highersuite_name, code, session):
 
     # Check for packages in $highersuite obsoleted by versions in $lowersuite
     q = session.execute("""
+WITH highersuite_maxversion AS (SELECT s.source AS source, max(s.version) AS version
+  FROM src_associations sa, source s
+  WHERE sa.suite = :highersuite_id AND sa.source = s.id group by s.source)
 SELECT s.source, s.version AS lower, s2.version AS higher
-  FROM src_associations sa, source s, source s2, src_associations sa2
+  FROM src_associations sa, source s, source s2, src_associations sa2, highersuite_maxversion hm
   WHERE sa.suite = :highersuite_id AND sa2.suite = :lowersuite_id AND sa.source = s.id
    AND sa2.source = s2.id AND s.source = s2.source
+   AND hm.source = s.source AND hm.version < s2.version
    AND s.version < s2.version""", {'lowersuite_id': lowersuite.suite_id,
                                     'highersuite_id': highersuite.suite_id})
     ql = q.fetchall()