|
|
|
|
@ -591,7 +591,8 @@ sub log_command |
|
|
|
|
# and to process the percentage in unsermake (-p). First parameter |
|
|
|
|
# is name of the log file (relative to the log directory), and the |
|
|
|
|
# second parameter is a reference to an array with the command and |
|
|
|
|
# its arguments |
|
|
|
|
# its arguments. |
|
|
|
|
# Returns 0 on success, non-zero on failure. |
|
|
|
|
sub run_make_command |
|
|
|
|
{ |
|
|
|
|
my $pid; |
|
|
|
|
@ -603,7 +604,7 @@ sub run_make_command |
|
|
|
|
|
|
|
|
|
if (!$isunsermake) |
|
|
|
|
{ |
|
|
|
|
return log_command($module, $filename, \@command); |
|
|
|
|
return log_command($module, $filename, \@command); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (debugging) |
|
|
|
|
@ -620,22 +621,22 @@ sub run_make_command |
|
|
|
|
$pid = open(CHILD, '-|'); |
|
|
|
|
if ($pid) |
|
|
|
|
{ |
|
|
|
|
my $last = -1; |
|
|
|
|
while (<CHILD>) |
|
|
|
|
{ |
|
|
|
|
chomp; |
|
|
|
|
if (debugging) |
|
|
|
|
{ |
|
|
|
|
print $_; |
|
|
|
|
} |
|
|
|
|
elsif (/([0-9]+)% (creating|compiling|linking)/) |
|
|
|
|
{ |
|
|
|
|
print STDERR "\r$1% \e[K" unless ($1 == $last); |
|
|
|
|
$last = $1; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
close(CHILD); |
|
|
|
|
print STDERR "\r\e[K\n"; |
|
|
|
|
my $last = -1; |
|
|
|
|
while (<CHILD>) |
|
|
|
|
{ |
|
|
|
|
chomp; |
|
|
|
|
if (debugging) |
|
|
|
|
{ |
|
|
|
|
print $_; |
|
|
|
|
} |
|
|
|
|
elsif (/([0-9]+)% (creating|compiling|linking)/) |
|
|
|
|
{ |
|
|
|
|
print STDERR "\r$1% \e[K" unless ($1 == $last); |
|
|
|
|
$last = $1; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
close(CHILD); |
|
|
|
|
print STDERR "\r\e[K\n"; |
|
|
|
|
|
|
|
|
|
# If the module fails building, set an internal flag in the module |
|
|
|
|
# options with the name of the log file containing the error message. |
|
|
|
|
@ -652,10 +653,10 @@ sub run_make_command |
|
|
|
|
print "\tLogging to std out due to failure creating log dir.\n"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
open (STDOUT, "|tee $logdir/$filename.log") or do { |
|
|
|
|
print "Error opening pipe to tee command.\n"; |
|
|
|
|
print "\t$!\n"; |
|
|
|
|
}; |
|
|
|
|
open (STDOUT, "|tee $logdir/$filename.log") or do { |
|
|
|
|
print "Error opening pipe to tee command.\n"; |
|
|
|
|
print "\t$!\n"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
# Make sure we log everything. |
|
|
|
|
open (STDERR, ">&STDOUT"); |
|
|
|
|
|