Description of problem: There are some pretty ridiculous package requirements for Fedora, especially for servers that don't support printing, sound, etc. I should be able to deinstall packages like esound and cups without having to remove things like redhat-lsb or gpdf, gedit, gnome-volume-manager, nautilus, etc. How reproducible: 100% Steps to Reproduce: 1. install FC3, select custom install, deselect all items related to printing, sound, web server 2. you will find httpd, esound, cups a tons of other stuff that is not really required. 3. Actual results: You cannot get rid of cups, unless you are willing to loose other non-related things, or risk using -nodeps: # rpm -e cups system-config-printer system-config-printer-gui ha l-cups-utils desktop-printing libgnomecups libgnomeprint22 libgnomeprintui22 gt humb gpdf gtkhtml3 gtksourceview librsvg2 libgal2 error: Failed dependencies: /usr/bin/lpr is needed by (installed) redhat-lsb-1.3-4.i386 gthumb is needed by (installed) gnome-volume-manager-1.1.0-5.i386 librsvg-2.so.2 is needed by (installed) gdm-2.6.0.5-6.i386 librsvg-2.so.2 is needed by (installed) nautilus-2.8.1-4.i386 librsvg2 >= 2.0.1 is needed by (installed) eel2-2.8.1-2.i386 librsvg2 >= 0:2.0.1 is needed by (installed) gdm-2.6.0.5-6.i386 # # rpm -e esound -e gnomemeeting gnome-media gnome-volume-manager gstreamer-plugins nautilus-media rhythmbox arts error: Failed dependencies: libesd.so.0 is needed by (installed) libgnome-2.8.0-2.i386 libesd.so.0 is needed by (installed) nautilus-2.8.1-4.i386 libesd.so.0 is needed by (installed) control-center-2.8.0-12.i386 libesd.so.0 is needed by (installed) gnome-session-2.8.0-4.i386 esound >= 1:0.2.27 is needed by (installed) libgnomeui-2.8.0-1.i386 gnome-volume-manager is needed by (installed) gnome-session-2.8.0- 4.i386 libgstinterfaces-0.8.so.0 is needed by (installed) gnome-applets-2.8.0- 5 .i386 gstreamer-plugins >= 0.7.6-2 is needed by (installed) gnome-applets- 2.8. 0-5.i386 # Expected results: Should be easier to remove all stuff related to printing and sound. This kind of thing can be found all throughout Fedora (not just sound and printing). Servers are forced to have lots of s/w that's not ever used. If libraries are required just to run these programs, you could provide a packge of stub libraries that fail at runtime instead, or at least separate the libraries from the programs and files. Additional info:
I think you have two bugs here not one. Firstly you did a server install and deselected httpd stuff but still got it. That's strange and is one issue. Secondly you take issue that things are not modular enough. This is an age old complaint and is really an issue for the mailing lists. It's probably worth reading the fedora mailing list archives and then posting a comment so you have the full picture. A server doesn't need nautilus. Technically it doesn't need X... If you are going to install GNOME then I would expect printing bits and pieces to be installed. Any desktop should be able to print. However trying to pull up esd is bound to cause problems in GNOME because if you have sound events (e.g. sound played when menu opened) on then they have to played through esd so GNOME has to have esd. You can't pull it up without pulling up GNOME. GNOME needs to use esd because it otherwise it would be unable to play two sounds at once on 90% of sound cards. Pulling up librsvg2 seems petty and begs the question what next? libtiff? libjpeg? libpng? Where do you stop? Vector graphics are being used more not less and there's no easy way to tell the user they have to install another RPM if they suddenly use a vector based theme. The gnome-volume-manager is a must otherwise automatic mounting of devices like usb keys will fail. It will get to the stage where it is core to GNOME and GNOME will fail to function without it. The gnome-applets requiring gstreamer is weird. If you don't like the lsb standardising what packages across distros then I think you need to take up the lpr problem with the Free Standards Group.
As a Linux distributor, I would expect RH to help by contacting each package owner with inappropriate dependencies and/or bad modularization to make future distributions better. I choose to install X on servers in order to use the GUI administration tools. I really don't expect cups or esound to be tied to it. There are a lot of printless desktops and printless/soundless servers. Yes, I actually wanted gnome-volume-manager (I only added it to see if I could get further in removing the junk I didn't want), but I didn't want (gthumb). I guess I can just remove redhat-lsb.
Every person has a different idea of what dependencies are appropriate. I apologize for the frustration you've been having. We do try to avoid unnecessary dependencies when creating packages. Although it may seem illogical, dependencies such as esound are really required on a technical level in order to implement the features desired by the user base as a whole. Something you may want to do if you have questions about specific dependencies is to ask on fedora-list for the reasoning behind those dependencies.
You may convince me libraries are required, but if we don't want the programs, help files, lang files, and any other baggage reaquired by the program and not the libs, we should be able to uninstall those (or not install them in the first place). And also the installer shouldn't give me the impression they are OPTIONS, and then installing them anyway. It seems like the installer has it's own ideas about the dependencies. I forcably removed aspell-en aspell gtkspell gnome-spell gaim evolution packages with no problems. What does that tell you about the dependencies? As I said in comment #2, I expect RH to maintain contact with the package authors to maintain reasonable dependencies. And how about that I told the installer I did not want web servers and it still installed apache's httpd?
Your argument as a blanket generalizations fails because it is a matter of opinion. It is a separate issue if you unchecked web server and it pulled in httpd. File a bug specifically for that, and other specific issues.
Here's the process for getting changes to happen: Ask on fedora-list and/or fedora-devel-list about the reasoning behind particular dependencies. For example, if you think it's crack that gnome-session requires gnome-volume-manager, ask why that dependency is there. For ones that can't be explained adequately, file bugs against the packages in question (e.g. gnome-session in this example). I don't know why httpd got installed - perhaps it was due to a dependency of another package that you did select. It's OK to expect reasonable dependencies, and the Fedora developers will continue to aim for that goal, but reasonable people can reasonably disagree on the definition of reasonable :_) Some of the constraints (such as having to install programs along with libraries) are just limitations of the rpm packaging. Disks are so cheap these days that it's really not worth the hassle of moving each type of file into a separate package.