[Yum-devel] [Patch] Resolver Performance and Correctness

Florian Festi ffesti at redhat.com
Wed Jun 6 10:08:56 UTC 2007


Jeremy Katz wrote:
> On Tue, 2007-06-05 at 13:22 +0200, Florian Festi wrote:
>>    * added local rpms to pkgSack via localSack (cli.py)
> 
> Hrmm... what are you trying to accomplish with this?  Other API users
> are almost certainly not doing this
> 
> Jeremy

Reason for this is the way .whatInTsProvides/Requires are implemented. They 
do no longer search within the TransactionInfo but search within the rpmSack 
and the pkgSack and then filter the result to the pkgs really included in 
the transaction - in a sense of all pkgs staying installed + all pkgs 
getting installed. This allows to make use of the indices within those two 
databases.

Command line pkgs don't fit into that scheme per se. To make them fit they 
can be added to the pkgSack (with an PackageSack that creates its own 
indices for fast search).  That way they are found and not filtered out as 
long they are part of the transaction. This is exactly the wanted behavior 
and doesn't need any additional code than adding them to the pkgSack.

I see the problem that other API users may not use the cli.localInstall but 
just add the pkg objects to the transaction. We probably need to find a 
solution at a lower level like checking on addition to the TransactionInfo 
although I have to admit that I don't like this idea.

Florian



More information about the Yum-devel mailing list