Dealing with circular BuildRequires?

Richard W.M. Jones rjones at
Thu Oct 6 17:36:48 UTC 2011

On Wed, Oct 05, 2011 at 12:02:33PM -0400, Tom Lane wrote:
> Petr Pisar <ppisar at> writes:
> > On 2011-10-05, Tom Lane <tgl at> wrote:
> >> For example, cairo BuildRequires: librsvg2-devel, and librsvg2
> >> BuildRequires: cairo-devel, so there is no order in which I can rebuild
> >> them.  How the heck did we get into such a situation, and what should
> >> I do about it?  Neither specfile appears to have any provision for
> >> bootstrapping.
> > We had similar problem when upgrading Perl to 5.14.
> > First, we choosed dependecy-ordered builds which stopped after
> > rebuilding about one thousand packages. Then we hit circular
> > dependencies blocking remaining eight hunderds packages.
> What exactly did you do for "dependency-ordered builds"?  What I could
> really use right now is a tool that would sort the package list into
> dependency order for me, and point to where there are circularities.
> I'd like to think that wheel has been invented already ...

smock possibly, modulo the shortcomings that Seth Vidal correctly
pointed out.  It is here:;a=tree;f=smock;hb=HEAD


Richard Jones, Virtualization Group, Red Hat
virt-p2v converts physical machines to virtual machines.  Boot with a
live CD or over the network (PXE) and turn machines into Xen guests.

More information about the devel mailing list