X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Frm.py;h=e90cfea0c23eb39bec2742d722f22a87efd7d6e7;hb=6f661cda42571685ba0a6b7e5dbccba059c5edfe;hp=e4f4a6cb8e0d428042bb634847c86de91ac8cc13;hpb=09a1a20566dcf84ca229b4339bd8f8080eb59afd;p=dak.git diff --git a/dak/rm.py b/dak/rm.py index e4f4a6cb..e90cfea0 100755 --- a/dak/rm.py +++ b/dak/rm.py @@ -210,6 +210,7 @@ def main (): # Additional suite checks suite_ids_list = [] + whitelists = [] suites = utils.split_args(Options["Suite"]) suites_list = utils.join_with_commas_and(suites) if not Options["No-Action"]: @@ -217,6 +218,7 @@ def main (): s = get_suite(suite, session=session) if s is not None: suite_ids_list.append(s.suite_id) + whitelists.append(s.mail_whitelist) if suite in ("oldstable", "stable"): print "**WARNING** About to remove from the (old)stable suite!" print "This should only be done just prior to a (point) release and not at" @@ -498,7 +500,7 @@ def main (): 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) + utils.send_mail(mail_message, whitelists=whitelists) # close associated bug reports if Options["Do-Close"]: @@ -523,8 +525,15 @@ def main (): utils.fubar("Closing bugs for multiple source packages 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') + merged_bugs = set() + other_bugs = bts.get_bugs('src', source_pkg, 'status', 'open', 'status', 'forwarded') if other_bugs: + for bugno in other_bugs: + if bugno not in merged_bugs: + for bug in bts.get_status(bugno): + for merged in bug.mergedwith: + other_bugs.remove(merged) + merged_bugs.add(merged) logfile.write("Also closing bug(s):") logfile822.write("Also-Bugs:") for bug in other_bugs: