[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Testing parallel builds



On Monday 08 October 2007 07:50:58 am Domenico Andreoli wrote:
> On Mon, Oct 08, 2007 at 06:53:05AM -0400, Daniel Schepler wrote:
> > Inspired by today's new upload of dpkg, I'm going to try doing a rebuild
> > of the archive using "dpkg-buildpackage -j3" and submit bugs as I find
> > them. The bugs will be wishlist for now, and I'll assign usertag
> > schepler@math.unipd.it:ftbfs-parallel to those bug reports for those
> > interested in tracking the issue.
>
> hmm... i was just trying to understand how to enhance my packges for
> parallel build. (BTW how do you rebuild the whole archive?)

I personally use a perl script called "pbuildd" to make sure the new packages 
work ok for their reverse-build-depends, with a few hand-written scripts 
thrown in to break cycles in the build-depends graph.  A somewhat out-of-date 
version is somewhere in the pbuilder alioth CVS, I think, or you can write me 
if you want a more up-to-date version.  Or there's a script in the pbuilder 
source package which just goes through every available package one by one and 
calls pbuilder on each.

> if i got it right, those packages built using make & co should not need
> any modification, while others (eg boost) which use other build systems
> (eg bjam) may need some more work.

Well, as long as the Makefiles are properly written.  But if you do something 
like

foo: bar baz
bar:
	touch $@
baz:
	cp bar $@

(i.e. without proper dependencies) that will potentially break on parallel 
builds but won't on regular builds.

> in the latter case, is there any conventional way to parse
> DEB_BUILD_OPTIONS? last time i read about it there were a couple of ways
> both having dark sides... ah.. BTW google is not able to provide me any
> documentation of DEB_BUILD_OPTIONS. where is it documented?

It's documented in Debian policy, but parallel hasn't been added there yet.  I 
think the new dpkg-buildpackage -j<n> passes 
DEB_BUILD_OPTIONS="parallel=<n>".
-- 
Daniel Schepler



Reply to: