]> git.decadent.org.uk Git - dak.git/blobdiff - dak/rm.py
Merge branch 'rm-close-bugs' of /home/tolimar/dak into rm-close-bugs
[dak.git] / dak / rm.py
index efdb7c57161ca9b311dae1ff183d449e4b66c5c1..66dab6113ccebdd2f6d748caa4fc405aecf5fc23 100755 (executable)
--- a/dak/rm.py
+++ b/dak/rm.py
@@ -283,7 +283,7 @@ def main ():
 
     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"):
@@ -623,6 +623,8 @@ def main ():
             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]
@@ -633,13 +635,15 @@ def main ():
         # 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)
 
 #######################################################################################