[fedora-arm] Package Dependency Tree from SRPMs?

Chris Tyler chris at tylers.info
Tue Oct 11 02:19:04 UTC 2011


On Mon, 2011-10-10 at 10:22 +0100, Gordan Bobic wrote:
> Hi,
> 
>  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?
> 
>  Gordan


Hi Gordan,

You might want to take a look at Styrene, which is in the ARM git repo.
It's a tool that lets you load up a database with deps (typically from
another arch, such as one of the primary archs; this is done from a
binary repo instead of a source repo because a lot of deps aren't
expressed in the srpms), and then queues builds on a koji system based
on that dependency information.

Rather than solve the global dependency graph, it uses a pass-based
approach -- it queues builds for all packages which have their build
dependencies currently satisfied, and then collects the results from
that pass, marking which packages built successfully. The process is
then repeated until no more packages can be built. This allows the next
pass to be queued even if some packages didn't build in the previous
pass (which is a very common scenario). Besides actually queuing builds,
it can simulate/model build passes, which will tell you how much of the
target package set can be built starting from the current base.

Styrene was written over the summer by Jon Chiappetta (fossjon on IRC)
and was used to drive the F13 updates build.

-Chris



More information about the arm mailing list