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