[Yum-devel] Does the yum depsolver correctly resolve rpmlib(foo) virtual capabilities

Jeremy Katz katzj at redhat.com
Mon Mar 19 02:34:23 UTC 2007


On Tue, 2007-03-13 at 10:26 -0400, Jesse Keating wrote:
> On Monday 12 March 2007 19:54:45 Russell Harrison wrote:
> > However when I do either of
> >
> > $ yum provides 'rpmlib(ConcurrentAccess)'
> > $ yum resolvedep 'rpmlib(ConcurrentAccess)'
> >
> > I don't get any matches.  :-(
> 
> Currently yum ignores requires/provides that start with either rpmlib( or 
> config(.  In depsolve.py it seems that Jeremy Katz checked in these ignores.
> 
> Jeremy is on vacation this week, so I wouldn't expect an answer from him.
> 
> Seth, do you recall why?  The cvs log shows:

The thing about rpmlib() requires is that you really _can't_ do anything
about them.  Either --
  a) you have the rpmlib capability already provided with your current
version of rpm; this means that checking it doesn't really buy you much
or
  b) you _don't_ have the rpmlib capability.  Installing a new rpm at
the same time isn't going to help as the rpmlib capability is required
at install time.  You instead have to do it ahead of time, in a separate
transaction and then restart yum entirely.  And hope the new version of
rpm doesn't depend on something else which depends on a new rpmlib
capability.  So _solving_ the dep isn't really all that useful... and we
end up doing a final transaction check using rpm before ordering and
performing the installation which will barf if there's an unsatisfied
rpmlib() dep, so trying to handle what we know we can't is just a bit of
a waste.

config() deps really should be getting checked for yum; they weren't
that relevant in the insular world of anaconda but with more general
case, it's needed.  So I nuked that part in CVS

Jeremy




More information about the Yum-devel mailing list