Circular dependencies in texlive?

Mathieu Bridon bochecha at fedoraproject.org
Fri Jul 5 10:54:27 UTC 2013


On Fri, 2013-07-05 at 12:45 +0200, Alain Portal wrote:
> Le jeudi 04 juillet 2013 19:44:04, John Reiser a écrit :
> > Today this
> > is not a circular dependency, although it may be impossible to rebuild the world
> > from source only, without using some previous [or current] binary version of graphite2-devel.
> > Once upon a time the dependencies were not as strict, or there was a bootstrapping
> > stage that is not recorded in the .spec, or there was manual "cheating", etc.
> 
> This is clearly a circular dependency.
> I'm curious to know how koji do the job...

Both are available in Fedora 19, so any of them can be rebuilt and have
its BuildRequires satisfied.

The question is how did it get built the first time. And John already
responded to that in the part quoted above.

Note that circular build dependencies are in fact quite common, for
example in Perl modules.

What happens is that you'll bootstrap it by first building A, without
the BuildRequires on B (for example having B present in the buildroot is
only needed for an optional feature in A, or for the unit tests,...).

Then you build B, with its build dependency on A.

And finally you rebuild A, this time with the build dependency on B.


-- 
Mathieu



More information about the devel mailing list