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

Re: Testing parallel builds



Hi,

        [An earl=ier version of this mail did not go through, perhaps
        because of the embedded images. I have now pulled the images out
        on to my blog server]

On Mon, 8 Oct 2007 06:53:05 -0400, Daniel Schepler
<schepler@math.unipd.it> said:  

> 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.  -- Daniel Schepler

        Hmm. My build system builds packages in stages -- this is
 designed to work with multiple binary packages from the same
 source as well. However, until now, I had never considered the ordering
 of the targets in detail with a view to parallel execution, so thanks
 for making me look at this in depth.

        In my current packages, the order that a build happens is shown
 at [1]; and you can see that the build common target can be executed
 before the configure targets are done. This is not good, and lead to
 the bug filed against cvs-buildpackage.

        The dependency tree can be greatly simplified just by observing
 the simple rules that *all* configuration is done before any
 of the build targets are started, and that the building is done before
 the install targets happen, and the install is done before we start
 with any binary package creation targets. You can see the target
 dependency graph at [2].

        It is kinda scary that my typical ./debian/rules has a minimum of
 61 targets, and that is just the base number.  But it sure makes for
 pretty pictures :)

        manoj

 In the figures below, filled ovals represent targets in which package
 specific work is done in ./debian/rules; the other targets are either
 required by policy, or used to do work only once, by using a stamp file
 as a guard.

1: http://www.golden-gryphon.com/media/images/oldtargets.png
2: http://www.golden-gryphon.com/media/images/newtargets.png
-- 
My friend has a baby.  I'm writing down all the noises he makes so later
I can ask him what he meant. -- Steven Wright
Manoj Srivastava <srivasta@debian.org> <http://www.debian.org/~srivasta/>
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C



Reply to: