forked from Lainports/freebsd-ports
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.
71 lines
1.9 KiB
Bash
Executable file
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
|