]> git.donarmstrong.com Git - debbugs.git/commitdiff
Fix issue with no-maintainer bugs assigned to multiple packages
authorDon Armstrong <don@donarmstrong.com>
Tue, 12 May 2009 04:12:34 +0000 (21:12 -0700)
committerDon Armstrong <don@donarmstrong.com>
Tue, 12 May 2009 04:12:34 +0000 (21:12 -0700)
(closes: #528249)

Debbugs/Bugs.pm
debian/changelog

index e16ef83a0e9a7a66b829cb9f7021d848e41ccbde..a68235827bdd78c0fb7002a3fcd11c2608a185f8 100644 (file)
@@ -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
index 3eddef12c577fec5427d5e6a7bfe64c4b3d9819e..93eaa055c7e2397abd0afb3f10665903d3569c2b 100644 (file)
@@ -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