From 6dd485d301a90bf3b50c6364d67eea652232979d Mon Sep 17 00:00:00 2001 From: Alexander Reichle-Schmehl Date: Sat, 18 Sep 2010 18:01:18 +0200 Subject: [PATCH] Actualy close bugs associated to removed packaged on request --- dak/rm.py | 34 ++++++++++++++++++++++++++++++++++ templates/rm.bug-close | 2 +- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/dak/rm.py b/dak/rm.py index 536e6dda..ada3c02b 100755 --- a/dak/rm.py +++ b/dak/rm.py @@ -307,6 +307,8 @@ def main (): if Options["Architecture"] and not Options["Partial"]: utils.warn("-a/--architecture implies -p/--partial.") Options["Partial"] = "true" + if Options["Do-Close"] and not Options["Done"]: + utils.fubar("No.") if Options["Do-Close"] and Options["Binary-Only"]: utils.fubar("No.") if Options["Do-Close"] and Options["Source-Only"]: @@ -616,6 +618,38 @@ def main (): mail_message = utils.TemplateSubst(Subst,cnf["Dir::Templates"]+"/rm.bug-close") utils.send_mail(mail_message) + # close associated bug reports + if Options["Do-Close"]: + Subst = {} + Subst["__RM_ADDRESS__"] = cnf["Rm::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) + Subst["__SUITE_LIST__"] = suites_list + Subst["__SUBJECT__"] = "Removed package(s) from %s" % (suites_list) + Subst["__ADMIN_ADDRESS__"] = cnf["Dinstall::MyAdminAddress"] + Subst["__DISTRO__"] = cnf["Dinstall::MyDistribution"] + Subst["__WHOAMI__"] = whoami + 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] + for bug in bts.get_bugs('src', package, 'status', 'open'): + Subst["__BUG_NUMBER_ALSO__"] += bug + "-done@" + cnf["Dinstall::BugServer"] + "'" + mail_message = utils.TemplateSubst(Subst,cnf["Dir::Templates"]+"/rm.bug-close-related") + utils.send_mail(mail_message) + logfile.write("=========================================================================\n") logfile.close() diff --git a/templates/rm.bug-close b/templates/rm.bug-close index 78addd22..b23fd6fa 100644 --- a/templates/rm.bug-close +++ b/templates/rm.bug-close @@ -6,7 +6,7 @@ X-Debian: DAK MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit -Subject: Bug#__BUG_NUMBER__: __SUBJECT__ +Subject: __SUBJECT__ We believe that the bug you reported is now fixed; the following package(s) have been removed from __SUITE_LIST__: -- 2.39.2