Bug 150692 - Rpm doesn't check kernel dependencies
Summary: Rpm doesn't check kernel dependencies
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: rpm
Version: 3.0
Hardware: i686
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jeff Johnson
QA Contact: Mike McLean
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-03-09 19:00 UTC by Chris Feist
Modified: 2007-11-30 22:07 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-03-09 20:42:27 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Output from rpm -ivv GFS-modules-* (6.68 KB, text/plain)
2005-03-09 19:38 UTC, Chris Feist
no flags Details

Description Chris Feist 2005-03-09 19:00:33 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.6)
Gecko/20050302 Firefox/1.0.1 Fedora/1.0.1-1.3.2

Description of problem:
I have a package (GFS-modules) which requires kernel = 2.4.21-29.EL

If I don't have that kernel installed rpm still happily attempts to
install GFS-modules and a scriptlet fails because it can't find the
kernel.

Version-Release number of selected component (if applicable):
rpm-4.2.3-13

How reproducible:
Always

Steps to Reproduce:
1.  Get GFS & GFS-modules & perl-Net-Telnet
(http://porkchop.devel.redhat.com/dist/3.0E-gfs-U5/GFS/6.0.2.3-1/i686/GFS-6.0.2.3-1.i686.rpm
&
http://porkchop.devel.redhat.com/dist/3.0E-gfs-U5/GFS/6.0.2.3-1/i686/GFS-modules-6.0.2.3-1.i686.rpm
&
http://porkchop.devel.redhat.com/dist/3.0E-gfs-U2/perl-Net-Telnet/3.03-2/noarch/perl-Net-Telnet-3.03-2.noarch.rpm)

2.  install perl-Net-Telnet
3. Make sure you don't have kernel 2.4.21-29.EL installed
4. rpm -qp --requires GFS-modules-6.0.2.3-1.i686.rpm (to see that it
requires kernel = 2.4.21-29.EL)
5. Install GFS & GFS-modules

    

Actual Results:  Both GFS & GFS-modules install even though the
dependency is not met.

Expected Results:  Rpm should fail to install GFS-modules because the
proper kernel is not installed.

Additional info:

Comment 1 Jeff Johnson 2005-03-09 19:29:27 UTC
Can you attach -vv output from the install? I'm pretty sure
I know what the (packaging) problem is, but I need -vv output
to confirm before suggesting what to do.

Comment 2 Chris Feist 2005-03-09 19:38:24 UTC
Created attachment 111820 [details]
Output from rpm -ivv GFS-modules-*

Output from rpm -ivv GFS-modules-*

Comment 3 Jeff Johnson 2005-03-09 20:42:27 UTC
This line indicates that the dependency is met:
    D:  Requires: kernel = 2.4.21-29.EL       YES (db provides)
by an already installed package Provides:

What is happening is that the kernel has a
    Provides: kernel = 2.4.21
(Note the missing Release:)

Missing Release: in the provides is interpreted as
    All/any releases are provided.
which matches your Requires:

If you want *exactly* a kernel-2.4.21-29.EL package and
nothing else will do, then you will need to express your
Requires: differently.

The easiest expression is to add a file dependency, like
    Requires: /lib/modules/2.4.21-29.EL
or (alternatively)
    Requires: /boot/vmlinuz-2.4.21-29.EL



Note You need to log in before you can comment on or make changes to this bug.