#!/usr/bonsaitools/bin/perl -- # -*- Mode: perl; indent-tabs-mode: nil -*- # # The contents of this file are subject to the Netscape Public License # Version 1.0 (the "License"); you may not use this file except in # compliance with the License. You may obtain a copy of the License at # http://www.mozilla.org/NPL/ # # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the # License for the specific language governing rights and limitations # under the License. # # The Original Code is the Tinderbox build tool. # # The Initial Developer of the Original Code is Netscape Communications # Corporation. Portions created by Netscape are Copyright (C) 1998 # Netscape Communications Corporation. All Rights Reserved. use lib "../bonsai"; use Fcntl; require "globals.pl"; require 'lloydcgi.pl'; $buildname = $form{'buildname'}; $buildtime = $form{'buildtime'}; $errorparser = $form{'errorparser'}; $logfile = $form{'logfile'}; $tree = $form{'tree'}; $enc_buildname = &url_encode($buildname); $note = $form{'note'}; $who = $form{'who'}; $now = time; $now_str = &print_time($now); $|=1; if( -r "$tree/ignorebuilds.pl" ){ require "$tree/ignorebuilds.pl"; } print "Content-type: text/html\n\n\n"; if( $url = $form{"note"} ){ $note =~ s/\&/&/gi; $note =~ s/\/>/gi; $enc_note = url_encode( $note ); lock; open( NOTES,">>$tree/notes.txt"); flock(NOTES, LOCK_EX); print NOTES "$buildtime|$buildname|$who|$now|$enc_note\n"; &LoadBuildTable; foreach $element (keys %form) { if(exists ${$build_name_index}{$element}) { print NOTES "${$build_name_index}{$element}|$element|$who|$now|$enc_note\n"; } #EndIf } #Endforeach close(NOTES); print "

The following comment has been added to the log

\n"; #print "$buildname \n $buildtime \n $errorparser \n $logfile \n $tree \n $enc_buildname \n"; print "
\n[$who - $now_str]\n$note\n
"; print"

Go back to the Error Log
Go back to the build Page
"; } else { &GetBuildNameIndex; @names = sort (keys %$build_name_index); if( $buildname eq '' || $buildtime == 0 ){ print "

Invalid parameters

\n"; die "\n"; } #print "$buildname \n $buildtime \n $errorparser \n $logfile \n $tree \n $enc_buildname \n"; print qq( Add a Comment to $buildname log
Add a Log Comment
$buildname
Email address:
Comment:

Addition Builds
(Comment will be added to the most recent cycle.)
); for $other_build (@names){ if( $other_build ne "" ){ if (not exists ${$ignore_builds}{$other_build}) { if( $other_build ne $buildname ){ print ""; print "$other_build
\n"; } } #EndIf } } #Endfor print "
\n\n"; } sub GetBuildNameIndex { local($mailtime, $buildtime, $buildname, $errorparser, $buildstatus, $logfile, $binaryname); open(BUILDLOG, "$tree/build.dat") or die "Couldn't open build.dat: $!\n"; while() { chomp; ($mailtime, $buildtime, $buildname, $errorparser, $buildstatus, $logfile, $binaryname) = split( /\|/ ); $build_name_index->{$buildname} = 0; } #EndWhile close(BUILDLOG); } sub LoadBuildTable { local($mailtime, $buildtime, $buildname, $errorparser, $buildstatus, $logfile, $binaryname); open(BUILDLOG, "$tree/build.dat") or die "Couldn't open build.dat: $!\n"; while() { chomp; ($mailtime, $buildtime, $buildname, $errorparser, $buildstatus, $logfile, $binaryname) = split( /\|/ ); if ($buildtime > $build_name_index->{$buildname} ) { $build_name_index->{$buildname} = $buildtime; } } #EndWhile close(BUILDLOG); }