- Subst["__BCC__"] = "X-Filler: 42"
- Subst["__CC__"] = "X-DAK: dak rm\nX-Katie: melanie $Revision: 1.44 $"
- if carbon_copy:
- Subst["__CC__"] += "\nCc: " + ", ".join(carbon_copy)
- Subst["__SUITE_LIST__"] = suites_list
- Subst["__SUMMARY__"] = summary
- Subst["__ADMIN_ADDRESS__"] = Cnf["Dinstall::MyAdminAddress"]
- Subst["__DISTRO__"] = Cnf["Dinstall::MyDistribution"]
- Subst["__WHOAMI__"] = whoami
- whereami = daklib.utils.where_am_i()
- Archive = Cnf.SubTree("Archive::%s" % (whereami))
- Subst["__MASTER_ARCHIVE__"] = Archive["OriginServer"]
- Subst["__PRIMARY_MIRROR__"] = Archive["PrimaryMirror"]
- for bug in daklib.utils.split_args(Options["Done"]):
- Subst["__BUG_NUMBER__"] = bug
- mail_message = daklib.utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/rm.bug-close")
- daklib.utils.send_mail(mail_message)
+ Subst_close_rm["__BCC__"] = "X-Filler: 42"
+ summarymail = "%s\n------------------- Reason -------------------\n%s\n" % (summary, Options["Reason"])
+ summarymail += "----------------------------------------------\n"
+ Subst_close_rm["__SUMMARY__"] = summarymail
+ whereami = utils.where_am_i()
+ Archive = cnf.SubTree("Archive::%s" % (whereami))
+ Subst_close_rm["__MASTER_ARCHIVE__"] = Archive["OriginServer"]
+ Subst_close_rm["__PRIMARY_MIRROR__"] = Archive["PrimaryMirror"]
+ for bug in utils.split_args(Options["Done"]):
+ Subst_close_rm["__BUG_NUMBER__"] = bug
+ if Options["Do-Close"]:
+ mail_message = utils.TemplateSubst(Subst_close_rm,cnf["Dir::Templates"]+"/rm.bug-close-with-related")
+ else:
+ mail_message = utils.TemplateSubst(Subst_close_rm,cnf["Dir::Templates"]+"/rm.bug-close")
+ utils.send_mail(mail_message)
+
+ # close associated bug reports
+ if Options["Do-Close"]:
+ Subst_close_other = Subst_common
+ bcc = []
+ wnpp = utils.parse_wnpp_bug_file()
+ if len(versions) == 1:
+ Subst_close_other["__VERSION__"] = versions[0]
+ else:
+ utils.fubar("Closing bugs with multiple package versions is not supported. Do it yourself.")
+ if bcc:
+ Subst_close_other["__BCC__"] = "Bcc: " + ", ".join(bcc)
+ else:
+ Subst_close_other["__BCC__"] = "X-Filler: 42"
+ # at this point, I just assume, that the first closed bug gives
+ # some useful information on why the package got removed
+ Subst_close_other["__BUG_NUMBER__"] = utils.split_args(Options["Done"])[0]
+ if len(sources) == 1:
+ source_pkg = source.split("_", 1)[0]
+ else:
+ utils.fubar("Closing bugs for multiple source pakcages is not supported. Do it yourself.")
+ Subst_close_other["__BUG_NUMBER_ALSO__"] = ""
+ Subst_close_other["__SOURCE__"] = source_pkg
+ other_bugs = bts.get_bugs('src', source_pkg, 'status', 'open')
+ if other_bugs:
+ logfile.write("Also closing bug(s):")
+ logfile822.write("Also-Bugs:")
+ for bug in other_bugs:
+ Subst_close_other["__BUG_NUMBER_ALSO__"] += str(bug) + "-done@" + cnf["Dinstall::BugServer"] + ","
+ logfile.write(" " + str(bug))
+ logfile822.write(" " + str(bug))
+ logfile.write("\n")
+ logfile822.write("\n")
+ if source_pkg in wnpp.keys():
+ logfile.write("Also closing WNPP bug(s):")
+ logfile822.write("Also-WNPP:")
+ for bug in wnpp[source_pkg]:
+ # the wnpp-rm file we parse also contains our removal
+ # bugs, filtering that out
+ if bug != Subst_close_other["__BUG_NUMBER__"]:
+ Subst_close_other["__BUG_NUMBER_ALSO__"] += str(bug) + "-done@" + cnf["Dinstall::BugServer"] + ","
+ logfile.write(" " + str(bug))
+ logfile822.write(" " + str(bug))
+ logfile.write("\n")
+ logfile822.write("\n")
+
+ mail_message = utils.TemplateSubst(Subst_close_other,cnf["Dir::Templates"]+"/rm.bug-close-related")
+ if Subst_close_other["__BUG_NUMBER_ALSO__"]:
+ utils.send_mail(mail_message)
+