]> git.decadent.org.uk Git - dak.git/blobdiff - dak/cruft_report.py
Merge branch 'dbtests'
[dak.git] / dak / cruft_report.py
index b9ddf5f72a5a6adaf9e006f5a5487bf0b8d7750c..fe9ba278d18c5f20d9f62b678c5960f921160ae5 100755 (executable)
@@ -42,6 +42,7 @@ from daklib.config import Config
 from daklib.dbconn import *
 from daklib import utils
 from daklib.regexes import re_extract_src_version
+from daklib.cruft import *
 
 ################################################################################
 
@@ -156,7 +157,7 @@ def do_nfu(nfu_packages):
         for architecture in a2p:
             if a2p[architecture]:
                 print (" dak rm -m \"[auto-cruft] NFU\" -s %s -a %s -b %s" % 
-                    (suite, architecture, " ".join(a2p[architecture])))
+                    (suite.suite_name, architecture, " ".join(a2p[architecture])))
         print
 
 def parse_nfu(architecture):
@@ -188,35 +189,20 @@ def parse_nfu(architecture):
 ################################################################################
 
 def do_newer_version(lowersuite_name, highersuite_name, code, session):
-    lowersuite = get_suite(lowersuite_name, session)
-    if not lowersuite:
-        return
-
-    highersuite = get_suite(highersuite_name, session)
-    if not highersuite:
-        return
-
-    # Check for packages in $highersuite obsoleted by versions in $lowersuite
-    q = session.execute("""
-SELECT s.source, s.version AS lower, s2.version AS higher
-  FROM src_associations sa, source s, source s2, src_associations sa2
-  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 s.version < s2.version""", {'lowersuite_id': lowersuite.suite_id,
-                                    'highersuite_id': highersuite.suite_id})
-    ql = q.fetchall()
-    if ql:
+    list = newer_version(lowersuite_name, highersuite_name, session)
+    if len(list) > 0:
         nv_to_remove = []
-        print "Newer version in %s" % lowersuite.suite_name
-        print "-----------------" + "-" * len(lowersuite.suite_name)
+        title = "Newer version in %s" % lowersuite_name
+        print title
+        print "-" * len(title)
         print
-        for i in ql:
+        for i in list:
             (source, higher_version, lower_version) = i
             print " o %s (%s, %s)" % (source, higher_version, lower_version)
             nv_to_remove.append(source)
         print
         print "Suggested command:"
-        print " dak rm -m \"[auto-cruft] %s\" -s %s %s" % (code, highersuite.suite_name,
+        print " dak rm -m \"[auto-cruft] %s\" -s %s %s" % (code, highersuite_name,
                                                            " ".join(nv_to_remove))
         print
 
@@ -538,7 +524,7 @@ def main ():
         cnf["Cruft-Report::Options::Mode"] = "daily"
 
     if not cnf.has_key("Cruft-Report::Options::Wanna-Build-Dump"):
-        cnf["Cruft-Report::Options::Wanna-Build-Dump"] = "/srv/ftp.debian.org/scripts/nfu"
+        cnf["Cruft-Report::Options::Wanna-Build-Dump"] = "/srv/ftp-master.debian.org/scripts/nfu"
 
     apt_pkg.ParseCommandLine(cnf.Cnf, Arguments, sys.argv)
 
@@ -548,7 +534,7 @@ def main ():
 
     # Set up checks based on mode
     if Options["Mode"] == "daily":
-        checks = [ "nbs", "nviu", "nvit", "obsolete source" ]
+        checks = [ "nbs", "nviu", "nvit", "obsolete source", "nfu" ]
     elif Options["Mode"] == "full":
         checks = [ "nbs", "nviu", "nvit", "obsolete source", "nfu", "dubious nbs", "bnb", "bms", "anais" ]
     else: