X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fcruft_report.py;h=02a38e0dda830baf8d69c9be250db9c795c7f0fa;hb=d9822f04453a1b62ca0aa66e2efeea35f654778f;hp=2a3974e544639fa5710fb88a4ee325d628b1f761;hpb=5ea129bba83114905c1266b77744eeed8e9bb020;p=dak.git diff --git a/dak/cruft_report.py b/dak/cruft_report.py old mode 100755 new mode 100644 index 2a3974e5..02a38e0d --- a/dak/cruft_report.py +++ b/dak/cruft_report.py @@ -23,7 +23,7 @@ # you might as well write some letters to God about how unfair entropy # is while you're at it.'' -- 20020802143104.GA5628@azure.humbug.org.au -## TODO: fix NBS looping for version, implement Dubious NBS, fix up output of duplicate source package stuff, improve experimental ?, add support for non-US ?, add overrides, avoid ANAIS for duplicated packages +## TODO: fix NBS looping for version, implement Dubious NBS, fix up output of duplicate source package stuff, improve experimental ?, add overrides, avoid ANAIS for duplicated packages ################################################################################ @@ -36,6 +36,7 @@ import daklib.utils Cnf = None projectB = None +suite = "unstable" # Default suite_id = None no_longer_in_suite = {}; # Really should be static to add_nbs, but I'm lazy @@ -132,7 +133,7 @@ SELECT s.source, s.version AS experimental, s2.version AS unstable nviu_to_remove = [] print "Newer version in unstable" print "-------------------------" - print + print for i in ql: (source, experimental_version, unstable_version) = i print " o %s (%s, %s)" % (source, experimental_version, unstable_version) @@ -171,7 +172,7 @@ def do_nbs(real_nbs): print output print "Suggested command:" - print " dak rm -m \"[auto-cruft] NBS\" -b %s" % (" ".join(nbs_to_remove)) + print " dak rm -m \"[auto-cruft] NBS\" -s %s -b %s" % (suite, " ".join(nbs_to_remove)) print ################################################################################ @@ -179,7 +180,7 @@ def do_nbs(real_nbs): def do_dubious_nbs(dubious_nbs): print "Dubious NBS" print "-----------" - print + print dubious_nbs_keys = dubious_nbs.keys() dubious_nbs_keys.sort() @@ -195,14 +196,14 @@ def do_dubious_nbs(dubious_nbs): packages.sort() print " o %s: %s" % (version, ", ".join(packages)) - print + print ################################################################################ def do_obsolete_source(duplicate_bins, bin2source): obsolete = {} for key in duplicate_bins.keys(): - (source_a, source_b) = key.split('~') + (source_a, source_b) = key.split('_') for source in [ source_a, source_b ]: if not obsolete.has_key(source): if not source_binaries.has_key(source): @@ -244,7 +245,7 @@ def do_obsolete_source(duplicate_bins, bin2source): ################################################################################ def main (): - global Cnf, projectB, suite_id, source_binaries, source_versions + global Cnf, projectB, suite, suite_id, source_binaries, source_versions Cnf = daklib.utils.get_conf() @@ -252,8 +253,8 @@ def main (): ('m',"mode","Cruft-Report::Options::Mode", "HasArg"), ('s',"suite","Cruft-Report::Options::Suite","HasArg")] for i in [ "help" ]: - if not Cnf.has_key("Cruft-Report::Options::%s" % (i)): - Cnf["Cruft-Report::Options::%s" % (i)] = "" + if not Cnf.has_key("Cruft-Report::Options::%s" % (i)): + Cnf["Cruft-Report::Options::%s" % (i)] = "" Cnf["Cruft-Report::Options::Suite"] = Cnf["Dinstall::DefaultSuite"] if not Cnf.has_key("Cruft-Report::Options::Mode"): @@ -263,7 +264,7 @@ def main (): Options = Cnf.SubTree("Cruft-Report::Options") if Options["Help"]: - usage() + usage() # Set up checks based on mode if Options["Mode"] == "daily": @@ -340,7 +341,7 @@ def main (): if bin_pkgs.has_key(binary): key_list = [ source, bin_pkgs[binary] ] key_list.sort() - key = '~'.join(key_list) + key = '_'.join(key_list) duplicate_bins.setdefault(key, []) duplicate_bins[key].append(binary) bin_pkgs[binary] = source @@ -351,7 +352,10 @@ def main (): os.unlink(temp_filename) # Checks based on the Packages files - for component in components + ['main/debian-installer']: + check_components = components[:] + if suite != "experimental": + check_components.append('main/debian-installer'); + for component in check_components: architectures = filter(daklib.utils.real_arch, Cnf.ValueList("Suite::%s::Architectures" % (suite))) for architecture in architectures: filename = "%s/dists/%s/%s/binary-%s/Packages.gz" % (Cnf["Dir::Root"], suite, component, architecture) @@ -390,13 +394,13 @@ def main (): if previous_source != source: key_list = [ source, previous_source ] key_list.sort() - key = '~'.join(key_list) + key = '_'.join(key_list) duplicate_bins.setdefault(key, []) if package not in duplicate_bins[key]: duplicate_bins[key].append(package) packages.close() os.unlink(temp_filename) - + if "obsolete source" in checks: do_obsolete_source(duplicate_bins, bin2source) @@ -436,24 +440,24 @@ def main (): binaries = bin_not_built[source].keys() binaries.sort() print " o %s: %s" % (source, ", ".join(binaries)) - print + print if "bms" in checks: print "Built from multiple source packages" print "-----------------------------------" - print + print keys = duplicate_bins.keys() keys.sort() for key in keys: - (source_a, source_b) = key.split("~") + (source_a, source_b) = key.split("_") print " o %s & %s => %s" % (source_a, source_b, ", ".join(duplicate_bins[key])) - print + print if "anais" in checks: print "Architecture Not Allowed In Source" print "----------------------------------" print anais_output - print + print if "dubious nbs" in checks: do_dubious_nbs(dubious_nbs)