Modified: users/jmr/master.cfg (79883 => 79884)
--- users/jmr/master.cfg 2011-06-29 02:44:49 UTC (rev 79883)
+++ users/jmr/master.cfg 2011-06-29 02:48:49 UTC (rev 79884)
@@ -135,8 +135,8 @@
if [[ -f logs-*/success/${port}.log ]]; then
if ./mpexport/base/portmgr/jobs/port_binary_distributable.tcl ${port}; then
echo $port is distributable
- portversion=$("""+prefix+"""/bin/port info --version ${portName} | awk '{print $2}')
- portrevision=$("""+prefix+"""/bin/port info --revision ${portName} | awk '{print $2}')
+ portversion=$("""+prefix+"""/bin/port info --version --line ${portName})
+ portrevision=$("""+prefix+"""/bin/port info --revision --line ${portName})
for archive in """+prefix+"""/var/macports/software/${portname}/${portname}-${portversion}_${portrevision}[+.]*; do
aname=$(basename $archive)
echo deploying archive: $aname
@@ -150,8 +150,27 @@
done
"""])
-# suck in the log files generated for each port
-#ports_factory.addStep(ShellCommand(command=["rm -r ./logs-*"]))
+# make a logfile summarising the success/failure status for each port
+ports_factory.addStep(ShellCommand(command=[
+"""rm -f portstatus.log
+for port in `cat portlist`; do
+ if [[ -f logs-*/success/${port}.log ]]; then
+ echo "[OK] ${port}" >> portstatus.log
+ elif [[ -f logs-*/failure/${port}.log ]]; then
+ echo "[FAIL] ${port}" >> portstatus.log
+ # send email to appropriate places
+ portmaintainers=$("""+prefix+"""/bin/port info --maintainers --line ${port} | tr ',' ' ')
+ for maint in $portmaintainers; do
+ if [[ "$maint" != "nomaintainer@macports.org" && "$maint" != "openmaintainer@macports.org" ]]; then
+ # email maintainer
+ echo "not emailing $maint (not set up yet)"
+ fi
+ # also send to some new mailing list?
+ done
+ fi
+done
+"""], logfiles={"portstatus": "portstatus.log"})
+ports_factory.addStep(ShellCommand(command=["rm -r ./logs-*"]))
from buildbot.config import BuilderConfig