From: Don Armstrong <don@donarmstrong.com>
Date: Tue, 12 May 2009 04:12:34 +0000 (-0700)
Subject: Fix issue with no-maintainer bugs assigned to multiple packages
X-Git-Tag: release/2.6.0~461^2~28
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=2fdee702bf617ca20b5870bcf8fa42fcf3a0907f;p=debbugs.git

Fix issue with no-maintainer bugs assigned to multiple packages
(closes: #528249)
---

diff --git a/Debbugs/Bugs.pm b/Debbugs/Bugs.pm
index e16ef83a..a6823582 100644
--- a/Debbugs/Bugs.pm
+++ b/Debbugs/Bugs.pm
@@ -572,20 +572,27 @@ sub get_bugs_flatfile{
      }
      my $unmaintained_packages = 0;
      # unmaintained packages is a special case
-     for my $maint (make_list(exists $param{maint}?$param{maint}:[])) {
+     my @maints = make_list(exists $param{maint}?$param{maint}:[]);
+     $param{maint} = [];
+     for my $maint (@maints) {
 	  if (defined $maint and $maint eq '' and not $unmaintained_packages) {
 	       $unmaintained_packages = 1;
 	       our %maintainers = %{getmaintainers()};
-	       $param{function} = [exists $param{function}?
-				   (ref $param{function}?@{$param{function}}:$param{function}):(),
+	       $param{function} = [(exists $param{function}?
+				    (ref $param{function}?@{$param{function}}:$param{function}):()),
 				   sub {my %d=@_;
-					foreach my $try (splitpackages($d{"pkg"})) {
+					foreach my $try (make_list($d{"pkg"})) {
+					     next unless length $try;
+					     ($try) = $try =~ m/^(?:src:)?(.+)/;
 					     return 1 if not exists $maintainers{$try};
 					}
 					return 0;
 				   }
 				  ];
 	  }
+	  elsif (defined $maint and $maint ne '') {
+	       push @{$param{maint}},$maint;
+	  }
      }
      # We handle src packages, maint and maintenc by mapping to the
      # appropriate binary packages, then removing all packages which
diff --git a/debian/changelog b/debian/changelog
index 3eddef12..93eaa055 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -246,6 +246,8 @@ debbugs (2.4.2~exp0) UNRELEASED; urgency=low
   * Calculate last modified using summary as well as log (closes: #515063)
   * Ditch 'as before' (closes: #514677)
   * Don't have reply/subscribe links for archived bugs (closes: #511864)
+  * Fix issue with no-maintainer bugs assigned to multiple packages
+    (closes: #528249)
 
   
  -- Colin Watson <cjwatson@debian.org>  Fri, 20 Jun 2003 18:57:25 +0100