version 1.4, 2008/11/10 16:13:33
|
version 1.5, 2009/01/09 21:45:27
|
Line 10 my($JSOC_DEV) = "jsoc_dev\@sun.stanford. |
|
Line 10 my($JSOC_DEV) = "jsoc_dev\@sun.stanford. |
|
my($ROOTDIR) = "/tmp/jsoc"; | my($ROOTDIR) = "/tmp/jsoc"; |
my($MAKELOG) = "make.log"; | my($MAKELOG) = "make.log"; |
my($ret); | my($ret); |
|
my($MAXERRLINES) = 8; |
| |
$ENV{'CVSROOT'} = ':ext:sunroom.stanford.edu:/home/cvsuser/cvsroot'; | $ENV{'CVSROOT'} = ':ext:sunroom.stanford.edu:/home/cvsuser/cvsroot'; |
$ENV{'CVS_RSH'} = 'ssh'; | $ENV{'CVS_RSH'} = 'ssh'; |
|
|
open FH, "cd $ROOTDIR/JSOC; \(tail -n 4 $MAKELOG | grep Error\) |" || die "Can't open log file: $!\n"; | open FH, "cd $ROOTDIR/JSOC; \(tail -n 4 $MAKELOG | grep Error\) |" || die "Can't open log file: $!\n"; |
my @line = <FH>; | my @line = <FH>; |
my($oneline); | my($oneline); |
|
my($prevline); |
my($errmsg) = ""; | my($errmsg) = ""; |
|
my($nerrlines); |
|
my($date); |
| |
close FH; | close FH; |
if (scalar(@line)) { | if (scalar(@line)) { |
|
$nerrlines = 0; |
|
$date = `date`; |
|
$errmsg = "${errmsg}JSOC Build Failed on ${date}:\n"; |
|
$nerrlines++; |
open FH, "$ROOTDIR/JSOC/$MAKELOG"; | open FH, "$ROOTDIR/JSOC/$MAKELOG"; |
while($oneline = <FH>) | while($oneline = <FH>) |
{ | { |
Line 50 if (scalar(@line)) { |
|
Line 58 if (scalar(@line)) { |
|
if ($oneline =~ /:\s\S*\serror:\s/) | if ($oneline =~ /:\s\S*\serror:\s/) |
{ | { |
$errmsg = "${errmsg}${oneline}\n"; | $errmsg = "${errmsg}${oneline}\n"; |
|
$nerrlines++; |
$oneline = <FH>; | $oneline = <FH>; |
if ($oneline) | if ($oneline) |
{ | { |
$errmsg = "${errmsg}${oneline}\n"; | $errmsg = "${errmsg}${oneline}\n"; |
|
$nerrlines++; |
} | } |
$oneline = <FH>; | $oneline = <FH>; |
if ($oneline) | if ($oneline) |
{ | { |
$errmsg = "${errmsg}${oneline}\n"; | $errmsg = "${errmsg}${oneline}\n"; |
|
$nerrlines++; |
} | } |
} | } |
|
elsif ($oneline =~ /:\s+undefined reference to\s+/) |
|
{ |
|
$errmsg = "${errmsg}${prevline}\n"; |
|
$errmsg = "${errmsg}${oneline}\n"; |
|
$nerrlines++; |
|
$nerrlines++; |
|
} |
|
|
|
$prevline = $oneline; |
} | } |
close FH; | close FH; |
| |
|
if ($nerrlines >= $MAXERRLINES) |
|
{ |
|
$errmsg = "${errmsg}...\n"; |
|
} |
|
|
open FH, "| /usr/bin/Mail -s \"JSOC build problem\" $JSOC_DEV"; | open FH, "| /usr/bin/Mail -s \"JSOC build problem\" $JSOC_DEV"; |
print FH $errmsg; | print FH $errmsg; |
close FH; | close FH; |