X-Git-Url: https://git.exim.org/buildfarm-server.git/blobdiff_plain/7696f262f27714edbcf520399a61be1dc7e3e158..9aab6bac9c2c174a5ef8869e9b947a3917e18087:/cgi-bin/show_stage_log.pl?dt=%24urldt;nm=%24system;stg=%24logstage diff --git a/cgi-bin/show_stage_log.pl b/cgi-bin/show_stage_log.pl old mode 100644 new mode 100755 index 52c1a37..7fd6438 --- a/cgi-bin/show_stage_log.pl +++ b/cgi-bin/show_stage_log.pl @@ -1,5 +1,13 @@ #!/usr/bin/perl +=comment + +Copyright (c) 2003-2010, Andrew Dunstan + +See accompanying License file for license details + +=cut + use strict; use DBI; use Template; @@ -23,73 +31,49 @@ my $query = new CGI; my $system = $query->param('nm'); $system =~ s/[^a-zA-Z0-9_ -]//g; my $logdate = $query->param('dt');$logdate =~ s/[^a-zA-Z0-9_ -]//g; -my $stage = $query->param('stg');$stage =~ s/[^a-zA-Z0-9_ -]//g; +my $stage = $query->param('stg');$stage =~ s/[^a-zA-Z0-9._ -]//g; use vars qw($tgz); -if ($system && $logdate) +if ($system && $logdate && $stage) { - my $db = DBI->connect($dsn,$dbuser,$dbpass); die $DBI::errstr unless $db; my $statement = q( - select log_archive - from build_status - where sysname = ? and snapshot = ? + select branch, log_text + from build_status_log + where sysname = ? and snapshot = ? and log_stage = ? || '.log' - ); + ); my $sth=$db->prepare($statement); - $sth->execute($system,$logdate); + $sth->execute($system,$logdate,$stage); my $row=$sth->fetchrow_arrayref; - $tgz=$row->[0]; + my ($branch, $logtext) = ("unknown","no log text found"); + if ($row) + { + $branch = $row->[0]; + $logtext =$row->[1]; + } $sth->finish; $db->disconnect; -} - -unless ($stage) -{ - - print - "Content-Type: application/x-gzip\n", - "Content-Disposition: attachment; filename=buildfarmlog.tgz\n", - "\n", - $tgz; - exit; -} - -my $template = "buildlogXXXXXX"; -my ($fh, $filename) = tempfile($template, UNLINK => 1); -print $fh $tgz; -close($fh); - -my $output = `tar -z -O -xf $filename $stage.log 2>&1`; - -print "Content-Type: text/plain\n\n", $output, + print "Content-Type: text/plain\n\n", $logtext, "-------------------------------------------------\n\n", "Hosting for the PostgreSQL Buildfarm is generously ", "provided by: CommandPrompt, The PostgreSQL Company"; -; exit; - -# using
 like this on huge files can make browsers choke
-
-print "Content-Type: text/html\n\n";
+}
 
-print <
-
-
-$output
-
- - +else +{ + print "Status: 460 bad parameters\n", + "Content-Type: text/plain\n\n"; +} -EOHTML