]> git.donarmstrong.com Git - debbugs.git/blobdiff - Debbugs/Recipients.pm
add cc all mails to addr config
[debbugs.git] / Debbugs / Recipients.pm
index 8ab2208d388fdfe3793e311cac1d8932e2a23f96..29b92f72a343d3626126205aad4b3de17b4df14f 100644 (file)
@@ -25,7 +25,7 @@ None known.
 use warnings;
 use strict;
 use vars qw($VERSION $DEBUG %EXPORT_TAGS @EXPORT_OK @EXPORT);
-use base qw(Exporter);
+use Exporter qw(import);
 
 BEGIN{
      ($VERSION) = q$Revision: 1221 $ =~ /^Revision:\s+([^\s+])/;
@@ -94,6 +94,9 @@ sub add_recipients {
                                          actions_taken => {type => HASHREF,
                                                            default => {},
                                                           },
+                                         unknown_packages => {type => HASHREF,
+                                                              default => {},
+                                                             },
                                         },
                              );
 
@@ -103,13 +106,12 @@ sub add_recipients {
          for my $data (@{$param{data}}) {
               add_recipients(data => $data,
                              map {exists $param{$_}?($_,$param{$_}):()}
-                             qw(recipients debug transcript actions_taken)
+                             qw(recipients debug transcript actions_taken unknown_packages)
                             );
          }
          return;
      }
-     my ($p, $addmaint);
-     my $anymaintfound=0; my $anymaintnotfound=0;
+     my ($addmaint);
      my $ref = $param{data}{bug_num};
      for my $p (splitpackages($param{data}{package})) {
          $p = lc($p);
@@ -155,7 +157,10 @@ sub add_recipients {
          }
          else {
               print {$param{debug}} "maintainer none >$p<\n";
-              print {$param{transcript}} "Warning: Unknown package '$p'\n";
+              if (not exists $param{unknown_packages}{$p}) {
+                  print {$param{transcript}} "Warning: Unknown package '$p'\n";
+                  $param{unknown_packages}{$p} = 1;
+              }
               print {$param{debug}} "MR|unknown-package|$p|$ref|\n";
               _add_address(recipients => $param{recipients},
                            address => $config{unknown_maintainer_email},
@@ -176,6 +181,16 @@ sub add_recipients {
                       bug_num    => $param{data}{bug_num},
                       type       => 'bcc',
                      );
+      }
+     if (defined $config{cc_all_mails_to_addr} and
+        length $config{cc_all_mails_to_addr}
+       ) {
+        _add_address(recipients => $param{recipients},
+                     address    => $config{cc_all_mails_to},
+                     reason     => "cc_all_mails_to",
+                     bug_num    => $param{data}{bug_num},
+                     type       => 'bcc',
+                    );
      }
 
      if (length $param{data}{owner}) {
@@ -239,7 +254,7 @@ Using the recipient hashref, determines the set of recipients.
 If you specify one of C<bcc>, C<cc>, or C<to>, you will receive only a
 LIST of recipients which the main should be Bcc'ed, Cc'ed, or To'ed
 respectively. By default, a LIST with keys bcc, cc, and to is returned
-with ARRAYREF values correponding to the users to whom a message
+with ARRAYREF values corresponding to the users to whom a message
 should be sent.
 
 =over