I noticed recently that the size of the Fedora Server DVD grew quite a bit between F21 and F22, despite not really changing the requested content. I've been trying to do a bit of analysis to see what packages are pulling in huge numbers of dependencies.
For a first pass, I wrote a simple Python script to analyze the dep chains of every package on the Fedora Server standard install and also on the "full" install (clicking every optional component checkbox in Anaconda). Right now, the output only shows which packages have the largest *count* of dependencies (it doesn't dabble in installed size at all), but it can give us an idea of which packages are pulling in the most stuff and start focusing our efforts on breaking the dependencies.
So, for each of the output files, what you will see is the recursive (non-repeating) count of the number of packages necessary to satisfy the dependencies for every package on the system.
It's certainly worth mentioning that the "winner" is freeipa (specifically, freeipa-server-trust-ad, which pulls in pretty much everything else in the freeipa stack). With a little quick examination though, one can also see that pki-ca (a dependency of FreeIPA) is sixth from the top, so it's worth looking at whether any part of its chain can be broken.
Anyway, enjoy this (mostly) raw data. I'll continue to process it and see what else turns up.
Side-note: the two lists do not always have the same count for all packages; I suspect that this is due to having multiple possibilities to satisfy the same dependency, where one may be pulled in explicitly during the maximal install where the despsolver might have chosen another during the standard install.
On Mon, May 18, 2015 at 10:02:58PM -0400, Stephen Gallagher wrote:
So, for each of the output files, what you will see is the recursive (non-repeating) count of the number of packages necessary to satisfy the dependencies for every package on the system.
Here's some pre-coffee comments. :)
[...]
xkeyboard-config: 1 emacs-filesystem: 1 tigervnc-icons: 1 dnf-conf: 2 liberation-fonts-common: 2 mariadb-errmsg: 2 langtable-data: 2 basesystem: 17 setup: 17
The above pull in /bin/sh, and therefore I think the jump here (there are a bunch more 17s) is the cluster of packages around "glibc with bash"). And the 18s are one step up -- packages which require that but nothing else. It's kind of encouraging to see that there are a lot of those. At the 19s, though, things start to explode.
[more cut]
systemd: 101
Might it be interesting to pick this as a sort of line in the sand; what does the list look like if we subtract these 101 packages from all of the rest?
(Not to say that we shouldn't look for wins in the systemd dep tree too, but maybe it's a way to help split the problem?)
/me goes to get coffee...
server@lists.fedoraproject.org