freebsd-ports/Tools/portbuild/scripts/processfail
Kris Kennaway faec39b50e Back out the attempt to list the error type in the failure summary;
because this file is a chronological history of port builds that have
failed, the files listed may not be present in the current set of
error logs, and we currently have no easy way to find the most recent
failure log to use instead.
2004-07-14 10:41:03 +00:00

71 lines
1.9 KiB
Bash
Executable file

#!/bin/sh
#
# processfail <arch> <branch>
arch=$1
branch=$2
pb=/var/portbuild
of=/usr/local/www/data/errorlogs/.${arch}-${branch}-failure.html
cd ${pb}/${arch}/${branch}
find $of .failure.html.lock -mmin +60 -delete 2>/dev/null
if [ -f $of -o -f .failure.html.lock ]; then exit; fi
if [ -e .newfailure.stamp -a $(echo $(find . -maxdepth 1 -newer .newfailure.stamp -name newfailure 2>&1 /dev/null | wc -l)) = "0" ]; then exit; fi
touch .newfailure.stamp
touch .failure.html.lock
newfailure=${pb}/${arch}/${branch}/newfailure
num=$(wc -l ${newfailure} | awk '{print $1}')
header() {
echo "<html><head><title>New package building errors</title>" >$of
echo "</head><body><h1>New package building errors</h1>" >>$of
if [ "$num" -eq "0" ]; then
echo "No errors (yet)" >>$of
else
echo "<table border=1>" >>$of
echo "<tr>$1</tr>" >>$of
fi
}
footer() {
echo "</table>" >>$of
echo "</body>" >>$of
echo "</html>" >>$of
}
#
# Create "default" output, sorted on portname
#
header "<th>Port</th><th>Package</th><th>Broken</th><th>Last</th><th>#</th>"
sort -r -n -k 4 -t \| failure > newfailure
IFS='|'
while read dir name ver date last count; do
echo "<tr>" >> $of
echo "<td><a href=\"http://cvsweb.freebsd.org/ports/$dir\">$dir</a></td>" >> $of
echo "<td><a href=\"${arch}-${branch}-latest/$ver.log\">$ver</a></td>" >> $of
# echo "<td align=\"right\">$affby</td><td align=\"right\">$4 Kb</td>" >> $of
# echo "<td><a href=\"http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/$5\">$5</a></td>" >> $of
# echo "<td><a href=\"mailto:$6\">$6</a></td>" >> $of
# echo "<td>" >> $of
alphadate=$(date -jf %s ${date} "+%F %T")
alphalast=$(date -jf %s ${last} "+%F %T")
echo "<td>${alphadate}</td>" >> $of
echo "<td>${alphalast}</td>" >> $of
echo "<td>$count</td>" >> $of
echo "</tr>" >> $of
done < newfailure
footer ""
rm .failure.html.lock
mv -f $of /usr/local/www/data/errorlogs/${arch}-${branch}-failure.html