[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: rpm gets some deps wrong?



On Wed, Aug 06, 2003 at 08:17:35AM -0400, James Olin Oden wrote:
> On Wed, 6 Aug 2003, Jeff Johnson wrote:
> 
> > Frank Cusack wrote:
> > 
> > >On Mon, Aug 04, 2003 at 08:42:33AM -0400, Jeff Johnson wrote:
> > >  
> > >
> > >>Frank Cusack wrote:
> > >>
> > >>    
> > >>
> > >>>I don't understand why rpm is complaining about breaking a dependency,
> > >>>when the package being removed doesn't provide said dependency:
> > >>>
> > >>>[root@mother root]# rpm -e kernel-smp-2.4.21-gg3
> > >>>error: Failed dependencies:
> > >>>	kernel-smp = 2.4.21-gg2 is needed by (installed) NVIDIA_kernel-2.4.21-gg2-smp-1.0-4363gg10
> > >>>	kernel-smp = 2.4.21-gg2 is needed by (installed) bcm5700-2.4.21-gg2-smp-6.2.11-gg3
> > >>>
> > >>>      
> > >>>
> > 
> > You have 2 packages with a dependency on the package that you are
> > upgrading. The dependency specifies a version, but not an epoch.
> > Missing epoch is equivalent to Epoch:0 when packages are installed.
> > 
> > (Note: "when installed" missing epoch == 0, now everywhere.)
> > 
> > Both packages have the same version, but not the same epoch. So the new
> > does not satisfy the previously satisifed  dependency because it has an 
> > epoch.
> > 
> > Even though the versions are the same, the epoch's are not.
> >
> The thing you have to realize, Frank, is when dependencies are compared 
> rpm looks at not just the version (%version), but it looks at what I call
> the fully qualified version (no originality, I know), which is made up of
> three components:
> 
> 	Epoch(E)
> 	Version(V)
> 	Release(R)
> 
> Thinking of each one as seperate digits for the sake of comparison, rpm 
> does the following comparison:
> 
> 	EVR1 (operator) EVR2
> 
> So Epoch is most significant, Version is next in significance, and Release 
> is last.  It would be simular to comparing 110 to 210.  Yes the 10's 
> places are equal, but the 100's are not; just as in your case the Versions 
> are equal but the Epochs are not, and Epochs win.

Thanks, that's starting to make more sense to me, but the dependency
is specified as '=', not '=>'.  So the dependency on 2.4.21-gg2 is not
met by 2.4.21-gg3 (it's not '=').  Furthermore, the still installed
package kernel-smp-2.4.21-gg2 continues to meet the dependency (sans Epoch).

You'll have to go back to previous email in the thread to see that, I
tried to indicate it in my selection of "rpm -q" output.  If you have
time, please do so; I'd really like to understand this.

Also, look at my response to Jeff (will send that in a sec).

thanks
/fc




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []