Tim wrote:
Gordon Messmer:
What's htdig got to do with pie charts?
Nothing, it was part of another conversation: A minimal, headless, X-less, server installation installing graphical library files.
Oh. Sorry, I missed some connection. To address that, then:
# rpm -q --whatrequires `rpm -q --provides libpng` | grep -v '^no ' cups-libs-1.1.22-0.rc1.9.11 # rpm -q --whatrequires `rpm -q --provides cups-libs` | grep -v '^no ' cups-1.1.22-0.rc1.9.11 # rpm -q --whatrequires `rpm -q --provides cups` | grep -v '^no ' redhat-lsb-3.0-8.EL
So, there you go. "libpng" is needed by cups. "cups" is needed for LSB conformance. That's why you have graphics libraries on a headless server.
Only if you're harping on about KDE. In the other case, there was no sane reason for installing some of what got included on a bare bones install. The silliness of the situation was precisely the point (alleged requirements, that really are not required).
Some of these things are required to conform to some standard or other expectation of functionality, but by and large, they're components without which things just won't *work*.
I'm not sure if you're familiar with the way that linking works, but for the most part, a library which provides functionality that's optional to an application stops being optional as soon as the software is compiled. Once it's built with support for that library, the binary requires it to function. If the library is missing, the linker can't complete its task and the application can't initialize.
If you're into minimalism, you can go the LFS route, or maybe even Gentoo. Most of us, I think, prefer stable systems that offer predictable results. A bare installation is still somewhere in the neighborhood of six or seven hundred megs (of which, around two hundred is manual pages, documentation, and string translations, vastly out sizing the "optional" dependencies), which is hardly unreasonable.
I understand that the source of some dependencies isn't obvious, but if it really eats you up, I suggest that you take the time to find out why they're required. The situation is hardly as dire as you seem to think.
Ignoring KDE, for the moment, it all adds up. When this programmer decides that his program depends on another 20 meg program, and that programmer decides that his program on another 50 meg program, it all snowballs.
Well, you have these alternative scenarios: * The developer decides that he doesn't want his application to support whatever function. Users who aren't worried about two cents worth of disk space will probably appreciate the functionality more. ($80 / 260,000MB * 50MB == 1.6 cents) * The developer implements the features himself. It takes him additional time, which means that bugs in the whole application take longer to fix, and new features take longer to come out. There's no guarantee that his implementation is any smaller than the original.
Other distros can manage barebone installations on systems with really small drives and RAM requirements, a fraction of what Fedora considered to be a barebones system.
It's not widely advertised, but you can do an installation with only the "core" group, rather than "Base", and come out with something around 300MB, IIRC. Fedora *probably* lets you customize things more than you believe.
Even then, why it is a requirement to be able to search the documentation for KDE? Perhaps I mightn't want to search the documents. Perhaps I mightn't even want to install the documentation. Don't make what should be optional extras into unavoidable dependencies.
Breaking the documentation (and documentation reader) out into its own package results in more maintenance for the Fedora team, and more work for users, either the ones who want it or the ones who don't. Requiring a 3MB dependency (Around 1/10 cent of disk) to avoid that extra work is a reasonable compromise, I think.