Commit bda53f8c authored by unknown's avatar unknown
Browse files

Avoid empty build (failure) mails on Solaris (backport from 4.1).


Build-tools/Do-compile:
  Backport of a change Lenz did in 4.1 (without it, Solaris sends empty mails):
  
  Improved the abort subroutine to not rely on an external "tail" command (the
  default /usr/bin/tail on Solaris does not understand the "-n" notation).
  Get rid of a "useless use of cat" case in the process.
parent 32773212
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -617,16 +617,20 @@ sub abort

  if ($opt_user)
  {
    $mail_header_file="$opt_tmp/do-command.$$";
    open(TMP,">$mail_header_file");
    # Take the last 40 lines of the build log
    open(LOG, "$log") or die $!;
    my @log= <LOG>;
    close LOG;
    splice @log => 0, -40;
    my $mail_file="$opt_tmp/do-command.$$";
    open(TMP,">$mail_file") or die $!;
    print TMP "From: mysqldev\@$full_host_name\n";
    print TMP "To: $email\n";
    print TMP "Subject: $host($uname): $ver$opt_version_suffix compilation failed\n\n";
    print TMP @log;
    close TMP;
    system("tail -n 40 $log > $log.mail");
    system("cat $mail_header_file $log.mail | $sendmail -t -f $email");
    unlink($mail_header_file);
    unlink("$log.mail");
    system("$sendmail -t -f $email < $mail_file");
    unlink($mail_file);
  }
  exit 1;
}