ports/Tools/portbuild/scripts/buildfailure
Kris Kennaway df64a01f68 These scripts are run when a build completes (successfully or not). They
keep track of the number of times a port has failed to build, resetting
the counter when it builds successfully.  There are still some bugs to be
worked out, but this will be used as the basis for maintainer notification
of port failures.
2003-01-24 05:01:24 +00:00

48 lines
1.2 KiB
Bash
Executable file

#!/bin/sh
#
# buildfailure <arch> <branch> <pkgname>
# configurable variables
pb=/var/portbuild
arch=$1
shift 1
. ${pb}/${arch}/portbuild.conf
. ${pb}/scripts/buildenv
branch=$1
pkgname=$2
shift 2
buildenv ${pb} ${arch} ${branch}
# Don't pick up installed packages from the host
export LOCALBASE=/nonexistentlocal
export X11BASE=/nonexistentx
index=${PORTSDIR}/${INDEXFILE}
portloc=$(grep "^$pkgname|" ${index} | cut -f 2 -d \| | sed s,/usr/ports/,,)
pkgbase=$(cd ${pb}/${arch}/${branch}/ports/${portloc}/ && make -V PKGBASE)
cd ${pb}/${arch}/${branch}
if grep -q "^${portloc}|" failure; then
count=$(grep "^${portloc}|" failure | cut -f 5 -d \|)
grep -v "^${portloc}|" failure > failure.new
echo "${portloc}|${pkgbase}|${pkgname}|$(date | tr ' ' '_')|$((${count}+1))" >> failure.new
mv failure.new failure
else
# Want newfailure to be in reverse chronological order
mv newfailure newfailure.new
echo "${portloc}|${pkgbase}|${pkgname}|$(date | tr ' ' '_')" > newfailure
cat newfailure newfailure.new > newfailure.new2
mv newfailure.new2 newfailure
rm newfailure.new
echo "${portloc}|${pkgbase}|${pkgname}|$(date)|1" >> failure
fi