#! /usr/bin/perl -s # -*- perl -*- # This is where the data is found. $htdocs = '/www/gcc/htdocs'; $root = 'glibc/builds'; chdir "$htdocs/$root" || die "cannot change to $htdocs/$root"; # Further distinguashions are made based on OS, architecture, and date. # Find all the OS names now. @oses = (); while (<*>) { push @oses, $_; } # Now read for all OSes the architectures. for ($i = 0; $i <= $#oses; ++$i) { local($os) = $oses[$i]; @{$os} = (); while (<$os/*>) { push @{$os}, $_; } } # Now read about the builds. for ($i = 0; $i <= $#oses; ++$i) { local($os) = $oses[$i]; local($narchs) = $#{$os}; for ($j = 0; $j <= $narchs; ++$j) { local($osarch) = ${$os}[$j]; @{$osarch} = (); while (<$osarch/*>) { push @{$osarch}, $_; } } } # Create the table. printf "Content-type: text/html\n\n"; printf "glibc build report\n"; printf "

GNU libc build reports

\n"; printf "The following table contains informations about the builds of "; printf "GNU libc on various platforms. The links in the table bring you "; printf "to the index for the appropriate build. From this point you can "; printf "select whether to look at the error or warning messages or at the "; printf "results for a specific subdirectory.

\n"; printf "

\n"; printf ""; printf "\n"; for ($i = 0; $i <= $#oses; ++$i) { local($os) = $oses[$i]; local($narchs) = $#{$os}; # First find out how many totals builds are there. local($n) = 0; for ($j = 0; $j <= $narchs; ++$j) { local($osarch) = $$os[$j]; local($nn); if ($#{$osarch} < 0) { $nn = 1; # We have no build, just print the architecture name. } else { $nn = 1 + $#{$osarch}; } $count{"$osarch"} = $nn; $n += $nn; } printf "' if ($j > 0); printf "' if ($m > 0); local($date); ($date = ${$$os[$j]}[$m]) =~ s/^.*\/([^\/]+)$/\1/; printf "\n", $root, ${$$os[$j]}[$m], $date; } } } printf "
OSArchitectureDate
%s", $n, $os; for ($j = 0; $j <= $narchs; ++$j) { local($arch); ($arch = $$os[$j]) =~ s/^.*\/([^\/]+)$/\1/; printf '
%s", $count{"$$os[$j]"}, $arch; for ($m = 0; $m <= $#{$$os[$j]}; ++$m) { printf '
%s
\n";