On Thu, Jun 30, 2011 at 5:32 PM, Petr Pisar <ppisar(a)redhat.com> wrote:
You can get the drawing script from
<
http://ppisar.fedorapeople.org/perl_rebuild/depgraph>. It gets BuildRequires
for each listed source package, translate them to corresponding source package
name and put them into directed graph.
(This is done calling repoquery which is really slow. Therefore I packaged
perl-YUM-RepoQuery few days ago, but had not time to use it.)
(Also it considers direct BuildRequires only. I'm implementing indirect
dependenices into mass rebuild script now, so it could be reused, maybe.)
Then it removes all leafs recursively and finally it uses graphviz do draw the
graph.
I would like to minimaze the graph to cycles only. Cycle finding is not
implemented yet but it should be trivial within O(V×E): just flood a name of
a vertex, and if the wave hit the origin, the vertex is in cycle; and do it
for each vertex.
Interesting though this is, why are we trying to bootstrap the entire
rebuild? Perl 5.14 is sufficiently compatible with 5.12 that we can
continue to provide perl(:MODULE_COMPAT_5.12.*) in perl-5.14.1 rpm
until the rebuild is (nearly) complete and only need to worry about
bootstrapping the arch-specific stuff (a much smaller problem set with
no circular deps that affected my rebuild in mock). Once all the
arch-specific stuff is rebuilt, all of the noarch packages should just
work (except those with real failures due to new features - mostly
regex stringification messing up tests).
--
Iain.