On Thu, 2011-10-06 at 18:36 +0100, Richard W.M. Jones wrote:
On Wed, Oct 05, 2011 at 12:02:33PM -0400, Tom Lane wrote:
> Petr Pisar <ppisar(a)redhat.com> writes:
> > On 2011-10-05, Tom Lane <tgl(a)redhat.com> 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:
http://git.annexia.org/?p=fedora-mingw.git;a=tree;f=smock;hb=HEAD
Rich,
To be fair -smock tries - which is good. I wished it tried in python
but that's just a nitpick :).
The reality is - if we want to take a giant pile of srpms in an
arbitrary order and build all of them in the right order - we're going
to need to get a great deal more rigorous about what we put into
specfiles.
-sv