X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Debbugs%2FRecipients.pm;h=29b92f72a343d3626126205aad4b3de17b4df14f;hb=fae2d5eea37642cc3773faa697973c25e5e140c2;hp=8ab2208d388fdfe3793e311cac1d8932e2a23f96;hpb=98ad23768495f28b31177c810f3e3d8908330e31;p=debbugs.git diff --git a/Debbugs/Recipients.pm b/Debbugs/Recipients.pm index 8ab2208..29b92f7 100644 --- a/Debbugs/Recipients.pm +++ b/Debbugs/Recipients.pm @@ -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, C, or C, 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