[fedora-arm] Package Dependency Tree from SRPMs?

Steve Grubb sgrubb at redhat.com
Mon Oct 10 14:01:58 UTC 2011


On Monday, October 10, 2011 05:22:25 AM Gordan Bobic wrote:
>  Is there a script already available that generates a package dependency
>  tree from src.rpms? At the moment, rebuilding a distro is quite
>  inefficient because for each mock run the setup takes a non-trivial
>  amount of time. What I'm thinking about doing is writing a script that
>  generates a dependency tree which can then be used, for example, to
>  generate a Makefile. That would allow for building all the packages in
>  the correct order with no wasted time on multiple passes in which most
>  package builds fail due to dependencies.
> 
>  Anyway, my question is, before I set out to write it, is there such a
>  script already?

This is the way that the rookery build system was written. It has the concept of seed 
packages and source packages. The seed packages are used until you get to the actual 
source rpm for that. For example, you need gcc, glibc, and a few other packages. I 
want to think you need about 15 to 20 of these seed packages.

The next step is to run the dependency analyzer. You will find that there are some 
dependency loops. You either have to break the loops by changing config options in the 
spec files or patching the package. The scripts could generate a graph using graphviz 
to show you a tree. The next step it did was schedule all the builds. It started from 
the simple packages and worked up to packages with more dependencies.

I used it to build my fedora distribution that was security hardened back around FC3. 
Since then I think dependency loops have gotten worse. If the wayback machine was 
working right now, I'd give you the link to it. The server had a power supply failure 
and I never renewed the domain name.

-Steve


More information about the arm mailing list