templatize show_log
[buildfarm-server.git] / cgi-bin / pgstatus.pl
index 8743be30c8628b718af96fb3b6e4dcda24fd041f..373d4f6b755e96acccef7aa42aaf7f9440d90c3c 100755 (executable)
@@ -74,6 +74,8 @@ $sth->execute($animal);
 my ($secret)=$sth->fetchrow_array();
 $sth->finish;
 
+my $tsdiff = time - $ts;
+
 my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($ts);
 $year += 1900; $mon +=1;
 my $date=
@@ -84,6 +86,7 @@ if ($ENV{BF_DEBUG} || ($ts > time) || ($ts + 86400 < time ) || (! $secret) )
     open(TX,">../buildlogs/$animal.$date");
     print TX "sig=$sig\nlogtar-len=" , length($log_archive),
         "\nstatus=$res\nstage=$stage\nconf:\n$conf\n",
+        "tsdiff:$tsdiff\n",
        "changed_this_run:\n$changed_this_run\n",
        "changed_since_success:\n$changed_since_success\n",
        "log:\n",$log;
@@ -91,7 +94,7 @@ if ($ENV{BF_DEBUG} || ($ts > time) || ($ts + 86400 < time ) || (! $secret) )
     close(TX);
 }
 
-unless ($ts < time)
+unless ($ts < time + 120)
 {
     my $gmt = gmtime($ts);
     print "Status: 491 bad ts parameter - $ts ($gmt GMT) is in the future.\n",
@@ -227,6 +230,7 @@ if (@config_flags)
 {
     @config_flags = grep {! m/=/ } @config_flags;
     map {s/\s+//g; $_=qq("$_"); } @config_flags;
+    push @config_flags,'git' if $client_conf->{scm} eq 'git';
     $config_flags = '{' . join(',',@config_flags) . '}' ;
 }
 
@@ -327,9 +331,35 @@ $row=$sth->fetchrow_arrayref;
 my ($os, $compiler,$arch) = @$row;
 $sth->finish;
 
+$db->begin_work;
+my $have_status = $db->selectrow_arrayref( q{
+    select 1 
+    from build_status_latest 
+    where sysname = ? and branch = ?
+}, 
+                                          undef, $animal, $branch);
+if ($have_status) 
+{
+    $db->do(q{
+             update build_status_latest
+                 set latest_snapshot = ?
+                 where sysname = ? and branch = ?
+             },
+           undef, $dbdate, $animal, $branch);
+}
+else
+{
+    $db->do(q{
+             insert into build_status_latest
+                 (sysname, branch, latest_snapshot)
+             values (?,?,?)
+             },
+           undef, $animal, $branch, $dbdate);
+}
+$db->commit;
 
 $db->begin_work;
-$db->do("truncate dashboard_mat");
+$db->do("delete from dashboard_mat");
 $db->do("insert into dashboard_mat select * from dashboard_mat_data2");
 $db->commit;