Bug 150167

Summary: ridiculous Fedora package dependencies
Product: [Fedora] Fedora Reporter: Don Beusee <don>
Component: fedora-releaseAssignee: Elliot Lee <sopwith>
Status: CLOSED WORKSFORME QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 3CC: wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-03-16 21:50:20 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Don Beusee 2005-03-03 08:01:51 UTC
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:

Comment 1 Sitsofe Wheeler 2005-03-03 09:04:04 UTC
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.



Comment 2 Don Beusee 2005-03-04 12:09:59 UTC
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.


Comment 3 Elliot Lee 2005-03-16 19:58:49 UTC
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.

Comment 4 Don Beusee 2005-03-16 21:36:36 UTC
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?


Comment 5 Warren Togami 2005-03-16 21:50:20 UTC
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.

Comment 6 Elliot Lee 2005-03-16 21:56:11 UTC
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.