Subject: Eliminating the indexing steps?
To: None <pkgsrc-bulk@netbsd.org>
From: Todd Vierling <tv@duh.org>
List: pkgsrc-bulk
Date: 10/07/2005 08:31:39
It looks like every package is being traversed at least three times, if not
four, via a bmake pass:

- "package name <=> package directory cross reference file"

- tflat up

- tflat down

- actual build, if not pre-marked as broken

Interix's shell and fork() behavior are so crappy that the first three
passes take almost 16 hours on my machine (Athlon XP 2200+).

Has anyone thought about letting the bulk build encounter brokenness on as
as-it-goes basis, that is, doing only the actual build (and marking broken
dependents at that time)?  Some data points might not be available for the
stdout/stderr terminal printout, perhaps (such as the percentage done, or
the full PKGNAME in the output prefix string), but that seems like just
convenience data to me.

I don't yet fully understand the inner workings of the binary package
dependency logic with BATCH set, or where all the changing of output
redirection happens, so I don't know if this is easily possible.  As for how
to detect the complete list of packages in that case, that should be a
simple matter of

    find . -path */*/Makefile -print | sed 's,/Makefile$,,'

or similar.

-- 
-- Todd Vierling <tv@duh.org> <tv@pobox.com> <todd@vierling.name>