]> git.decadent.org.uk Git - dak.git/blobdiff - dak/cruft_report.py
Merge commit 'djpig/djpig' into merge
[dak.git] / dak / cruft_report.py
index 3c3d73cb8c5dbb58038f807b7d19f84d823fa574..30650d4139ec7860ea35158329bf87126f06f875 100755 (executable)
@@ -168,7 +168,7 @@ def parse_nfu(architecture):
 
         f.close()
     else:
-        utils.warn("No wanna-build dump file for architecture %s", architecture)
+        utils.warn("No wanna-build dump file for architecture %s" % architecture)
     return ret
 
 ################################################################################
@@ -206,7 +206,7 @@ def do_nbs(real_nbs):
     output = "Not Built from Source\n"
     output += "---------------------\n\n"
 
-    nbs_to_remove = []
+    cmd_output = ""
     nbs_keys = real_nbs.keys()
     nbs_keys.sort()
     for source in nbs_keys:
@@ -216,21 +216,22 @@ def do_nbs(real_nbs):
         output += "      but no longer builds:\n"
         versions = real_nbs[source].keys()
         versions.sort(apt_pkg.VersionCompare)
+        all_packages = []
         for version in versions:
             packages = real_nbs[source][version].keys()
             packages.sort()
-            for pkg in packages:
-                nbs_to_remove.append(pkg)
+            all_packages.extend(packages)
             output += "        o %s: %s\n" % (version, ", ".join(packages))
+        if all_packages:
+            all_packages.sort()
+            cmd_output += " dak rm -m \"[auto-cruft] NBS (was built by %s)\" -s %s -b %s\n\n" % (source, suite, " ".join(all_packages))
 
         output += "\n"
 
-    if nbs_to_remove:
+    if len(cmd_output):
         print output
-
-        print "Suggested command:"
-        print " dak rm -m \"[auto-cruft] NBS\" -s %s -b %s" % (suite, " ".join(nbs_to_remove))
-        print
+        print "Suggested commands:\n"
+        print cmd_output
 
 ################################################################################
 
@@ -428,6 +429,8 @@ def main ():
     for component in check_components:
         architectures = filter(utils.real_arch, database.get_suite_architectures(suite))
         for architecture in architectures:
+           if component == 'main/debian-installer' and re.match("kfreebsd", architecture):
+               continue
             filename = "%s/dists/%s/%s/binary-%s/Packages.gz" % (Cnf["Dir::Root"], suite, component, architecture)
             # apt_pkg.ParseTagFile needs a real file handle
             (fd, temp_filename) = utils.temp_filename()