Policy on circular build deps?

Ralf Corsepius rc040203 at freenet.de
Mon Nov 3 15:20:08 UTC 2008


On Mon, 2008-11-03 at 09:54 -0500, Adam Jackson wrote:
> On Mon, 2008-11-03 at 10:22 +0000, Richard W.M. Jones wrote:
> > Is there a policy on whether circular build dependencies are permitted
> > or not?  The nearest I can find is this (obsolete?) page:
> > 
> > https://fedoraproject.org/wiki/Extras/PackagesNeedingBootstrap
> > 
> > MinGW has one hard circular dependency which will require rel-eng
> > cooperation to build first time[1], but we also have another one which
> > is only a "nice to have" (mingw32-iconv & mingw32-gettext[2]).
> 
> I don't think there's any strict policy. 
Right.

>  It's polite to mark the
> packages needing special handling during bootstrap somehow.  In Mesa I
> just note at the top of the specfile that the -demos subpackage needs to
> be excluded on the way up (it needs libglut, which you can't build until
> you've built a libGL, which the main Mesa package provides...)

One approach trick is to have a special "--with/without" magic inside of
an rpm spec, which is sufficient to let subsequent incremental builds
succeed.

 IIRC, the ghc-case, they once had carried some binary packages inside
which were used to provide an initial build of other packages. A similar
approach can be applied to many cross-toolchains (Initially once "seed"
with binary packages, then later build incrementally).

Another approach is to "gradually introduce features", i.e. to initially
build a package with certain features disabled, use this package's
contents to built another package providing a feature, etc.
(Think building a gcc with i18n disabled to build iconv/libgettext, and
then build gcc with i18n enabled).

Ralf






More information about the devel mailing list