On Mon, Oct 10, 2011 at 02:10:28PM -0400, Jon Masters wrote:
On Mon, 2011-10-10 at 10:22 +0100, 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?
There are several attempts at this, including something DJ put together
during the F15 bootstrap, and e.g. rpmgraph but there isn't a real
solution to the problem of the kind that we will need longer term.
The real solution to this problem necessitates changing packages to add
explicit bootstrap dependencies to them. That is the only way to do this
properly. Otherwise you have to do what we did in the early stages to
get going. A real fix (that I have raised initially and will be more
vocal about - thanks for the indirect ping) is to regularly
automatically bootstrap Fedora using automation, and bootstrap deps.
Then we should notify package maintainers who break the ability to
bootstrap in adding hundreds of deps to the minimal set (I'm looking at
systemd as an example that would have perhaps caused such a reaction).
As Jon know, this is very like the process we're working on in Debian
as well. Our normal philosophy of building most packages with all
features enabled is useful, but can make bootstrapping difficult.
There are some common bootstrapping loops where it's impossible to
simply find the correct order for package builds, so the best answer
is to build cut-down bootstrap versions of packages and use them as a
base for satisfying build dependencies until everything is fulfilled
for more details.
Steve McIntyre steve.mcintyre(a)linaro.org
| Open source software for ARM SoCs