Bug 215687

Summary: gnome-volume-manager depends on kernel
Product: [Fedora] Fedora Reporter: Pavel Roskin <plroskin>
Component: gnome-volume-managerAssignee: David Zeuthen <davidz>
Status: CLOSED WORKSFORME QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 6CC: mclasen, triage
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: bzcl34nup
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-04-04 05:12:51 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:
Attachments:
Description Flags
Specfile for the kernel-local package none

Description Pavel Roskin 2006-11-15 06:26:38 UTC
Description of problem:
gnome-volume-manager depends on kernel >= 2.6, which prevents me from
uninstalling the kernel

Version-Release number of selected component (if applicable):
2.15.0-2.fc6

How reproducible:
always

Steps to Reproduce:
1. rpm -e kernel

Actual results:
# rpm -e kernel
error: Failed dependencies:
        kernel >= 2.6.12-1.1411_FC5 is needed by (installed) pcmciautils-014-5.i386
        kernel >= 2.6 is needed by (installed)
gnome-volume-manager-2.15.0-2.fc6.i386
        kernel >= 2.6.9-11 is needed by (installed)
systemtap-runtime-0.5.10-1.fc6.i386
        kernel >= 2.6.9-11 is needed by (installed) systemtap-0.5.10-1.fc6.i386

Expected results:
No errors, the kernel is uninstalled

Additional info:
I realize it's a very arguable bug, so let me provide some background.

Fedora should be friendly to the users customizing their kernels.  In
particular, if a custom kernel is installed, it should be possible to uninstall
the distributed kernel and avoid all kernel updates.

The kernel has a special role.  It's connected directly to the hardware.  It's
doing all low-level networking.  It's running always.  It affects the
performance greatly.  It has hundreds of options.  Users are more likely to
customize the kernel than any other package.

Due to the kernel-userspace barrier, the kernel is less connected to the rest of
the distribution than the userspace packages to each other.  It should be easy
to replace the kernel.  But the dependencies of a few packages prevent it.

The dependencies are not meant to ensure that the kernel has necessary features.
 Even a 2.6 kernel may not provide sound interface if there are no sound
devices.  Some kernel facilities may be locked by other processes.

No sane userspace software should depend on the kernel features the same way as
it depends on the libraries, i.e. fail to run properly in the absence of the
dependencies.  Every userspace package should be prepared to work around
gracefully lack of the kernel features.  It should not crash or get stuck in the
startup scripts.

Dependencies are also useful for fetching the dependent packages along with the
one requested by the user.  Upgrading the kernel would be a major overkill if
all the user wants it to update gnome-volume-manager.

Speaking of updating, the kernels are installed by default, not upgraded.  One
can have many kernel installed.  It's a standard situation even for a two week
old Fedora Core to have more than one kernel installed.

Most dependencies require files to be present.  The kernel dependencies
"require" the kernel to be running.  But the kernel that satisfies the
dependency may not be the one that is running.

The userspace packages are required to deal with it.  Therefore, dependencies on
the kernel are not "hard dependencies" - they are very "soft".  And they create
more problems than they can possibly solve.

Please remove the dependency on the kernel from gnome-volume-manager

Comment 1 Pavel Roskin 2007-02-05 17:19:47 UTC
The same problem exists in Fedora Development, except that the component is
called gnome-volume-control.

A few more arguments in case the above wasn't convincing.  I'm participating in
Fedora development by using the development distribution.  I'm going to fix bugs
in some userspace software that has problems with Fedora.

I'm also doing kernel development, and I'm submitting fixed to several drivers.
 I'm updating kernel sources from several git branches every day.

What I'm not doing is kernel development for Fedora.  It involves many issues
I'm not interested in, such as virtualization and optimization for speed.  In
fact, I need a slow kernel with most debugging enabled for my work.

Now, since I'm on Fedora Development, I'm going to download another Fedora
kernel almost every day.  I know, I can disable updates and run my kernel
anyway.  But doesn't in mean that I'm fooling the dependency system? 
gnome-volume-control says it wants Fedora kernel, and it's present but not running.

Now, if I try to uninstall the Fedora kernel, I have to uninstall
gnome-volume-control and also gnome-session, which depends on
gnome-volume-control.  Isn't it like saying "you may not use our desktop if you
are not using our kernel"?

Sure, I'm using IceWM as my window manager, but I don't like to be forced to
lose the ability to log in into GNOME.  I think alienating users who are also
kernel developers is not a smart thing for a distribution to do.

Comment 2 Bug Zapper 2008-04-04 04:41:47 UTC
Fedora apologizes that these issues have not been resolved yet. We're
sorry it's taken so long for your bug to be properly triaged and acted
on. We appreciate the time you took to report this issue and want to
make sure no important bugs slip through the cracks.

If you're currently running a version of Fedora Core between 1 and 6,
please note that Fedora no longer maintains these releases. We strongly
encourage you to upgrade to a current Fedora release. In order to
refocus our efforts as a project we are flagging all of the open bugs
for releases which are no longer maintained and closing them.
http://fedoraproject.org/wiki/LifeCycle/EOL

If this bug is still open against Fedora Core 1 through 6, thirty days
from now, it will be closed 'WONTFIX'. If you can reporduce this bug in
the latest Fedora version, please change to the respective version. If
you are unable to do this, please add a comment to this bug requesting
the change.

Thanks for your help, and we apologize again that we haven't handled
these issues to this point.

The process we are following is outlined here:
http://fedoraproject.org/wiki/BugZappers/F9CleanUp

We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.

And if you'd like to join the bug triage team to help make things
better, check out http://fedoraproject.org/wiki/BugZappers

Comment 3 Pavel Roskin 2008-04-04 05:12:51 UTC
The problem doesn't exist in Fedora 8. gnome-volume-manager-2.17.0-8.fc8 doesn't
depend on the kernel, directly or indirectly.

That said, there are still packages wrongly dependent on the kernel, both in F8
and development, and they should be fixed.

Comment 4 Pavel Roskin 2009-05-03 21:37:18 UTC
Created attachment 342254 [details]
Specfile for the kernel-local package

I have found an easier solution than arguing with package maintainers to remove kernel dependencies.  The attached file can be turned into a package by "rpmbuild -bb kernel-local.spec".  Once kernel-local is installed, it's possible to remove the kernel package.