Bug 488075

Summary: Deselected Gnome and X packages get installed
Product: Red Hat Enterprise Linux 5 Reporter: wolfram.schroeder
Component: anacondaAssignee: Anaconda Maintenance Team <anaconda-maint-list>
Status: CLOSED NOTABUG QA Contact: Release Test Team <release-test-team-automation>
Severity: medium Docs Contact:
Priority: low    
Version: 5.3   
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-03-10 17:01:37 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 wolfram.schroeder 2009-03-02 14:54:00 UTC
Description of problem:

No idea how this slipped through QA. Gnome and X packages get installed during the initial installation despite being deselected.

How reproducible:

Always. Install, deselect Gnome and X, proceed with defaults. Watch X and Gnome getting installed regardless.

Expected results:

Do not install Gnome when it is deselected. Do not install X Server when it is deselected.

Comment 1 Chris Lumens 2009-03-05 01:36:22 UTC
Which GNOME or X packages are you seeing installed?  The libraries get installed regardless as part of base system functionality.  If you are seeing programs being installed, it could be because other package selections you made required those as part of their dependencies.  Knowing which packages you selected and which you deselected would be helpful in determining if there's really a bug here or not.

Comment 2 wolfram.schroeder 2009-03-10 15:49:57 UTC
I only today got around to install another test system on a virtual machine. Instructions to reproduce are already given: During a normal installation, deselect X Server and Gnome Desktop. I did a grep through /root/install.log for "X" and "gnome". Result:

Installing libXau-1.0.1-3.1.i386
Installing libXfont-1.2.2-1.0.3.el5_1.i386
Installing libXdmcp-1.0.1-2.1.i386
Installing libX11-1.0.3-9.el5.i386
Installing libXext-1.0.1-2.1.i386
Installing libXrender-0.9.1-3.1.i386
Installing libXt-1.0.2-3.1.fc6.i386
Installing libXmu-1.0.2-5.i386
Installing libXi-1.0.1-3.1.i386
Installing libXrandr-1.1.1-3.1.i386
Installing libXinerama-1.0.1-2.1.i386
Installing libXxf86vm-1.0.1-3.1.i386
Installing libXpm-3.5.5-3.i386
Installing libXaw-1.0.2-8.1.i386
Installing libXxf86misc-1.0.1-3.1.i386
Installing libXfixes-4.0.1-2.1.i386
Installing libXcursor-1.1.7-1.1.i386
Installing libXTrap-1.0.0-3.1.i386
Installing libXtst-1.0.1-3.1.i386
Installing libXv-1.0.1-4.1.i386
Installing libXres-1.0.1-3.1.i386
Installing libXxf86dga-1.0.1-3.1.i386
Installing libXfontcache-1.0.2-3.1.i386
Installing libXft-2.1.10-1.1.i386
Installing PyXML-0.8.4-4.i386
Installing Xaw3d-1.5E-10.1.i386
Installing xorg-x11-server-Xnest-1.1.1-48.52.el5.i386
Installing xorg-x11-server-Xorg-1.1.1-48.52.el5.i386
Installing gnome-mime-data-2.4.2-3.1.i386
Installing gnome-menus-2.16.0-2.fc6.i386
Installing gnome-doc-utils-0.8.0-2.fc6.noarch
Installing bluez-gnome-0.5-5.fc6.i386
Installing libgnomecanvas-2.14.0-4.1.i386
Installing gnome-keyring-0.6.0-1.fc6.i386
Installing libgnomecups-0.2.2-8.i386
Installing libgnomeprint22-2.12.1-10.el5.i386
Installing libgnomeprintui22-2.12.1-6.i386
Installing gnome-vfs2-2.16.2-4.el5.i386
Installing libgnome-2.16.0-6.el5.i386
Installing libgnomeui-2.16.0-5.el5.i386
Installing gnome-python2-2.16.0-1.fc6.i386
Installing gnome-python2-canvas-2.16.0-1.fc6.i386
Installing gnome-python2-gconf-2.16.0-1.fc6.i386
Installing gnome-mount-0.5-3.el5.i386
Installing gnome-desktop-2.16.0-1.fc6.i386
Installing gnome-python2-gnomevfs-2.16.0-1.fc6.i386
Installing gnome-media-2.16.1-3.el5.i386
Installing rhn-setup-gnome-0.4.19-17.el5.noarch
Installing gnome-python2-extras-2.14.2-6.el5.i386
Installing gnome-python2-gtkhtml2-2.14.2-6.el5.i386
Installing gnome-python2-bonobo-2.16.0-1.fc6.i386

As you can see, the X.org server package and the gnome desktop package was included, despite the previous deselection. Specifically, I expect the installer to deal with the handling of package dependencies. I really don't want to deal with these issues myself, that's what installers are for. When packages are deselected, depending packages should also be deselected, possibly after asking the usual "are you sure" question. If that's not possible, and the installation of a package is required, it should not be offered for deselection.

A good resolution would be the introduction of an option "This is a headless server, no graphical utilities should be installed". That is what I really want, and not to deselect individual packages or package groups.

Regards,
Wolfram

Comment 3 Chris Lumens 2009-03-10 17:01:37 UTC
We cannot simply go through and remove all packages that depend upon a deselected package.  After we've done that, do we then go through and remove all the dependencies of those packages?  Following that up, we're going to eventually end up with almost nothing selected, which is certainly not the behavior you would be expecting.

Also what do we do when one of the dependencies of a deselected package is also the dependency of a package you intentionally selected?  We either remove that dependency (which then requires removing the intentionally selected package - not what you want, or we don't remove the dependency (which leaves you with the package you didn't want installed - also not what you want).  So really, there's no clean way to handle this.

The package selection screen really should be treated as a request, since packages can get pulled back in to satisfy dependency resolution.  In your case, it looks to me like there's some package pulling in the desktop and X server package when perhaps it shouldn't be.  You can try running rpm -q --whatrequires gnome-desktop xorg-x11-server-Xorg and seeing what packages pulled them in, then filing packaging bugs with those components.

We can't just not offer packages for deselection, as it is perfectly possible to end up with an install that has almost nothing in it.  You just have to be a little careful.  And we can't just have a checkbox that says "headless server -> no graphical utilities", as that logic does not follow.  It is perfectly possible to install a server with graphical programs and then run them remotely displayed on a workstation.