Red Hat Bugzilla – Bug 150167
ridiculous Fedora package dependencies
Last modified: 2007-11-30 17:11:01 EST
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.
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
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-18.104.22.168-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-22.214.171.124-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-
libgstinterfaces-0.8.so.0 is needed by (installed) gnome-applets-2.8.0-
gstreamer-plugins >= 0.7.6-2 is needed by (installed) gnome-applets-
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.
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
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