for i in [ "architecture", "binary-only", "carbon-copy", "component",
"done", "help", "no-action", "partial", "rdep-check", "reason",
- "source-only" ]:
+ "source-only", "Do-Close" ]:
if not cnf.has_key("Rm::Options::%s" % (i)):
cnf["Rm::Options::%s" % (i)] = ""
if not cnf.has_key("Rm::Options::Suite"):
print "done."
Subst = {}
- Subst["__RM_ADDRESS__"] = cnf["Rm::MyEmailAddress"]
+ Subst["__RM_ADDRESS__"] = cnf["Dinstall::MyEmailAddress"]
Subst["__BUG_SERVER__"] = cnf["Dinstall::BugServer"]
bcc = []
- if cnf.Find("Dinstall::Bcc") != "":
- bcc.append(cnf["Dinstall::Bcc"])
- if cnf.Find("Rm::Bcc") != "":
- bcc.append(cnf["Rm::Bcc"])
- if bcc:
- Subst["__BCC__"] = "Bcc: " + ", ".join(bcc)
- else:
- Subst["__BCC__"] = "X-Filler: 42"
Subst["__CC__"] = "X-DAK: dak rm"
if carbon_copy:
Subst["__CC__"] += "\nCc: " + ", ".join(carbon_copy)
# Send the bug closing messages
if Options["Done"]:
+ if cnf.Find("Dinstall::Bcc") != "":
+ bcc.append(cnf["Dinstall::Bcc"])
+ if cnf.Find("Rm::Bcc") != "":
+ bcc.append(cnf["Rm::Bcc"])
+ if bcc:
+ Subst["__BCC__"] = "Bcc: " + ", ".join(bcc)
+ else:
+ Subst["__BCC__"] = "X-Filler: 42"
summarymail = "%s\n------------------- Reason -------------------\n%s\n" % (summary, Options["Reason"])
summarymail += "----------------------------------------------\n"
Subst["__SUMMARY__"] = summarymail
utils.send_mail(mail_message)
# close associated bug reports
+ # FIXME: We should also close possible WNPP bugs for that package, but
+ # currently there's no sane way to determine them
if Options["Do-Close"]:
if len(versions) == 1:
Subst["__VERSION__"] = versions[0]
else:
utils.fubar("Closing bugs with multiple package versions is not supported. Do it yourself.")
+ if bcc:
+ Subst["__BCC__"] = "Bcc: " + ", ".join(bcc)
+ else:
+ Subst["__BCC__"] = "X-Filler: 42"
whereami = utils.where_am_i()
Archive = cnf.SubTree("Archive::%s" % (whereami))
# at this point, I just assume, that the first closed bug gives
# some usefull information on why the package got removed
Subst["__BUG_NUMBER__"] = utils.split_args(Options["Done"])[0]
- print "Package:", package
- print "Bugs found:", bts.get_bugs('src', package, 'status', 'open')
- for bug in bts.get_bugs('src', package, 'status', 'open'):
- Subst["__BUG_NUMBER_ALSO__"] += bug + "-done@" + cnf["Dinstall::BugServer"] + ","
- print "Resulting to:", Subst["__BUG_NUMBER_ALSO__"]
+ if len(sources) > 1:
+ utils.fubar("Closing bugs for multiple source pakcages is not supported. Do it yourself.")
+ Subst["__BUG_NUMBER_ALSO__"] = ""
+ Subst["__SOURCE__"] = source.split("_", 1)[0]
+ for bug in bts.get_bugs('src', source.split("_", 1)[0], 'status', 'open'):
+ Subst["__BUG_NUMBER_ALSO__"] += str(bug) + "-done@" + cnf["Dinstall::BugServer"] + ","
mail_message = utils.TemplateSubst(Subst,cnf["Dir::Templates"]+"/rm.bug-close-related")
- utils.send_mail(mail_message)
+ if Subst["__BUG_NUMBER_ALSO__"]:
+ utils.send_mail(mail_message)
#######################################################################################