summaryrefslogtreecommitdiff
path: root/Tools/portbuild
diff options
context:
space:
mode:
authorKris Kennaway <kris@FreeBSD.org>2003-01-24 05:03:08 +0000
committerKris Kennaway <kris@FreeBSD.org>2003-01-24 05:03:08 +0000
commit934f3cece022357f65c07170d482ad511bbee453 (patch)
tree6b3fd5cb5562d0bf4f91939f5622ecb2a642e24f /Tools/portbuild
parent* Allow bento to generate the necessary XML catalogs (diff)
First cut at a script to process the logfile maintained by 'buildsuccess'
and 'buildfailure' and produce a HTML output listing ports with the date they became broken. The output can surely be made more useful (e.g. it always links to the ${branch}-latest logs, which may not exist when the build-in-progress has not yet attempted the build of that port).
Notes
Notes: svn path=/head/; revision=73924
Diffstat (limited to 'Tools/portbuild')
-rwxr-xr-xTools/portbuild/scripts/processfail68
1 files changed, 68 insertions, 0 deletions
diff --git a/Tools/portbuild/scripts/processfail b/Tools/portbuild/scripts/processfail
new file mode 100755
index 000000000000..67f77369e6a8
--- /dev/null
+++ b/Tools/portbuild/scripts/processfail
@@ -0,0 +1,68 @@
+#!/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})
+
+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>Date broken</th>"
+
+for i in `cat ${newfailure}`; do
+ set $(echo $i | tr ' ' '_' | tr \| " ")
+
+ echo "<tr>" >> $of
+ echo "<td><a href=\"http://cvsweb.freebsd.org/ports/$1\">$1</a></td>" >> $of
+ echo "<td><a href=\"${arch}-${branch}-latest/$3.log\">$3</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
+
+ date=$(echo $4 | tr '_' ' ')
+ echo "<td>${date}</td>" >> $of
+
+ echo "</tr>" >> $of
+done
+footer ""
+rm .failure.html.lock
+mv -f $of /usr/local/www/data/errorlogs/${arch}-${branch}-failure.html