-c, --component=COMPONENT act on this component
-C, --carbon-copy=EMAIL send a CC of removal message to EMAIL
-d, --done=BUG# send removal message as closure to bug#
+ -D, --do-close also close all bugs associated to that package
-h, --help show this help and exit
-m, --reason=MSG reason for removal
-n, --no-action don't do anything
(result, output) = commands.getstatusoutput("gunzip -c %s > %s" % (filename, temp_filename))
if (result != 0):
utils.fubar("Gunzip invocation failed!\n%s\n" % (output), result)
+ # Also check for udebs
+ filename = "%s/dists/%s/%s/debian-installer/binary-%s/Packages.gz" % (cnf["Dir::Root"], suites[0], component, architecture)
+ if os.path.exists(filename):
+ (result, output) = commands.getstatusoutput("gunzip -c %s >> %s" % (filename, temp_filename))
+ if (result != 0):
+ utils.fubar("Gunzip invocation failed!\n%s\n" % (output), result)
packages = utils.open_file(temp_filename)
Packages = apt_pkg.ParseTagFile(packages)
while Packages.Step():
('c',"component", "Rm::Options::Component", "HasArg"),
('C',"carbon-copy", "Rm::Options::Carbon-Copy", "HasArg"), # Bugs to Cc
('d',"done","Rm::Options::Done", "HasArg"), # Bugs fixed
+ ('D',"do-close","Rm::Options::Do-Close"),
('R',"rdep-check", "Rm::Options::Rdep-Check"),
('m',"reason", "Rm::Options::Reason", "HasArg"), # Hysterical raisins; -m is old-dinstall option for rejection reason
('n',"no-action","Rm::Options::No-Action"),
if Options["Architecture"] and not Options["Partial"]:
utils.warn("-a/--architecture implies -p/--partial.")
Options["Partial"] = "true"
+ if Options["Do-Close"] and Options["Binary-Only"]:
+ utils.fubar("No.")
+ if Options["Do-Close"] and Options["Source-Only"]:
+ utils.fubar("No.")
+ if Options["Do-Close"] and Options["Suite"] != 'unstable':
+ utils.fubar("No.")
# Force the admin to tell someone if we're not doing a 'dak
# cruft-report' inspired removal (or closing a bug, which counts
logfile822.write("Binaries:\n")
for binary in binaries:
logfile822.write(" %s\n" % binary)
- logfile822.write("Reason: %s\n" % Options["Reason"])
+ logfile822.write("Reason: %s\n" % Options["Reason"].replace('\n', '\n '))
if Options["Done"]:
logfile822.write("Bug: %s\n" % Options["Done"])
logfile822.write("\n")