]> git.donarmstrong.com Git - debbugs.git/blobdiff - scripts/process
merge changes from don source
[debbugs.git] / scripts / process
index cbaaa500aae2c3c91fc33e316d95a13402041131..e3243caa3c60093babf8ecd4729e983d5e7ffe12 100755 (executable)
@@ -13,7 +13,7 @@ use IO::File;
 
 use MIME::Parser;
 use Debbugs::MIME qw(decode_rfc1522 create_mime_message getmailbody);
-use Debbugs::Mail qw(send_mail_message encode_headers);
+use Debbugs::Mail qw(send_mail_message encode_headers get_addresses);
 use Debbugs::Packages qw(getpkgsrc);
 use Debbugs::User qw(read_usertags write_usertags);
 use Debbugs::Common qw(:lock get_hashname);
@@ -224,7 +224,7 @@ if ($tryref >= 0)
 {
      my $bfound;
     ($bfound, $data)= &lockreadbugmerge($tryref);
-    if ($bfound) { 
+    if ($bfound and not $data->{archived}) {
         $ref= $tryref; 
     } else {
         &sendmessage(create_mime_message(
@@ -236,7 +236,7 @@ if ($tryref >= 0)
           References    => join(' ',grep {defined $_} $header{'message-id'},$data->{msgid}),
           Precedence    => 'bulk',
           "X-$gProject-PR-Message" => 'error',
-         ],message_body_template('process_unknown_bug_number',
+         ],message_body_template('mail/process_unknown_bug_number',
                                  {subject => $subject,
                                   date    => $header{date},
                                   baddress => $baddress,
@@ -449,8 +449,8 @@ if ($codeletter eq 'D' || $codeletter eq 'F')
               To            => "$data->{originator}",
               Subject       => "$gBug#$ref closed by $markedby ($header{'subject'})",
               "Message-ID"  => "<handler.$ref.$nn.notifdone\@$gEmailDomain>",
-              "In-Reply-To" => "$data->{msgid}",
-              References    => join(' ',grep {defined $_} $header{'message-id'},$data->{msgid}),
+              (defined $data->{msgid})?("In-Reply-To" => $data->{msgid}):(),
+              References    => join(' ',grep {defined $_} ($header{'message-id'},$data->{msgid})),
               "X-$gProject-PR-Message"  => "they-closed $ref",
               "X-$gProject-PR-Package"  => "$data->{package}",
               "X-$gProject-PR-Keywords" => "$data->{keywords}",
@@ -499,7 +499,8 @@ if ($ref<0) { # new bug report
     $data->{fixed_versions} = [];
 
     if (defined $pheader{source}) {
-        $data->{package} = $pheader{source};
+       # source packages are identified by the src: prefix
+        $data->{package} = 'src:'.$pheader{source};
     } elsif (defined $pheader{package}) {
         $data->{package} = $pheader{package};
     } elsif (defined $config{default_package}) {
@@ -633,7 +634,7 @@ my $newsubject= $subject;  $newsubject =~ s/^$gBug#$ref:*\s*//;
 
 my $xcchdr= $header{ 'x-debbugs-cc' } || '';
 if ($xcchdr =~ m/\S/) {
-    push(@resentccs,$xcchdr);
+    push(@resentccs,get_addresses($xcchdr));
     $resentccexplain.= fill_template('mail/xdebbugscc',
                                     {xcchdr => $xcchdr},
                                    );