Developers’ Weblog

Sponsored by
HostEurope Logo

Developers’ Weblog

All 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Even though I had added a “mmake bulk-build” target to MirPorts’ top-level Makefile some time ago, one thing has always been broken: if one port in a bulk build fails to build, we do not want to abort the whole thing. Using mmake -k however leads to 0-byte packages and corresponding bulk cookies being created erroneously. This seems to be a consequence of the “indirect” inter-target dependencies used by MirPorts.

The fix turned out easier than I thought: there is a REPORT_PROBLEM variable that can be set to a command run when mmake fails. The default is exit 1. For bulk builds (i.e. when BULK is set), we now default to a new failedport script, which records the directory and flavour in ${PORTSDIR}/Failed and exits with status 0. Thus, the build continues at the next port, as is should.

The next thing I want to do is a HTML report of a finished bulk build with links to all build reports. I saw this in Rodrigo Osorio's “Porting applications in FreeBSD” talk on FOSDEM 2009, and thought it was quite nice.

MirOS Logo