fastbulk - Commit to /usr/src/test/fastbulk
* Commit the fastbulk (fast pkgsrc bulk building system) that I was
working on late last year so others can mess around with it.
* This is a set of scripts that attempt to figure out pkgsrc tree
dependencies and then run as many package builds in parallel as
possible, keeping track of completions which effect other dependencies
in order to keep as many concurrent (up to NPARALLEL) builds going as
possible.
* Once the source archives get synchronized concurrency is actually limited
more by the sludgepile that is the pkgsrc/bmake system which we have to
use to figure out the dependencies in the first place. It takes a bit
for enough of the dependency tree to build for concurrency to ramp up
but it does pretty well once the core packages that everyone else depends
on have been built.
* Easy tracking of the state of the build via per-package log files and
status information in /build/fastbulk/root/tmp/logs/{good,bad,run}.
Log files for currently running builds are placed in run and then
moved to good or bad when the build completes.
* Remaining issues include multi-dependencies (e.g. when multiple versions
of the same package is available for install), because other packages in
the tree might depend on different versions of the same package,
missing dependencies, and other conflicts.