git: fastbulk - Commit to /usr/src/test/fastbulk
commit b050e616f2ee6454dd82147d049d28ad6bb8a38a
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date: Sat Nov 19 13:54:49 2011 -0800
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.
Summary of changes:
test/fastbulk/Makefile | 160 +++++++++++
test/fastbulk/dobuild | 34 +++
test/fastbulk/dochanges | 13 +
test/fastbulk/fastbulk.c | 597 ++++++++++++++++++++++++++++++++++++++++++
test/fastbulk/getpkgsrcdir.c | 108 ++++++++
5 files changed, 912 insertions(+), 0 deletions(-)
create mode 100644 test/fastbulk/Makefile
create mode 100755 test/fastbulk/dobuild
create mode 100755 test/fastbulk/dochanges
create mode 100644 test/fastbulk/fastbulk.c
create mode 100644 test/fastbulk/getpkgsrcdir.c
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b050e616f2ee6454dd82147d049d28ad6bb8a38a
--
DragonFly BSD source repository