Bug 110169

Summary: rpm fails to solve recursive dependencies
Product: [Fedora] Fedora Reporter: lucas dixon <lucasd>
Component: rpmAssignee: Jeff Johnson <jbj>
Status: CLOSED NOTABUG QA Contact: Mike McLean <mikem>
Severity: medium Docs Contact:
Priority: high    
Version: 1   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-12-27 14:38:25 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 lucas dixon 2003-11-15 21:19:37 UTC
Description of problem:

I just switched from RedHat9 to Fedora 1 Core, and had some trouble
isnatlling rpms that worked fine on RedHat9. When using rpm to install
 mplayer (and all its components) which has recursive dependencies:

mplayer-0.90-1 requires: mplayer-common = 0.90
and 
mplayer-common-0.90-1 requires mplayer = 0.90

In redhat 9, rpm was able to install these using "rpm -i" with both
file names given, but in Fedura it complains that:

error: Failed dependencies:
        mplayer-common = 0.90 is needed by mplayer-0.90-1
        mplayer-common = 0.90 is needed by mplayer-gui-0.90-1


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

I'm using the default rpm from the Fedora 1 Core, which is version 4.2.1

How reproducible:
very reproducable, do the following:

download: 
mplayer-0.90-1 and 
mplayer-common-0.90-1 
I think you can find them at: 
http://rpms.4t2.org/RPMS/x/RH8.0/i486/

then do a rpm -i *.rpm in the dir where the rpms were downloaded.


Steps to Reproduce:
1. as above

This also happens with other packages, with recursive deps it's as if
its using the "--noorder" flag...?

Actual results:
error: Failed dependencies:
        mplayer-common = 0.90 is needed by mplayer-0.90-1
        mplayer-common = 0.90 is needed by mplayer-gui-0.90-1


Expected results:
successfull install of mplayer.


Additional info:

that should be all you need - can you let me know if there is a fix?
at the moment I just force it using --nodeps, but this is ugly and
dangerous.

Comment 1 Jeff Johnson 2003-12-27 14:38:25 UTC
Yup. rpm-4.2.1 requires Epoch: to be specified where
needed, and assumes Epoch: 0 if missing.

For example, the mplayer package has Epoch: 2 and carries
    Provides: mplayer = 2:0.90-1.x
(Note the "2:" syntax for Epoch: in a dependency.)

Then the mencode package needs to write it's dependency
on mplayer as
    Requires: mplayer = 2:0.90
rather than
    Requires: mplayer = 0.90

There is a --promoteepoch CLI flag, and adding -vv will
show all occurences that need fixing.