[Yum-devel] [Patch] Resolver Performance and Correctness
Florian Festi
ffesti at redhat.com
Wed Jun 6 08:46:23 UTC 2007
Jeremy Katz wrote:
> On Tue, 2007-06-05 at 13:22 +0200, Florian Festi wrote:
>> * TransactionData.removedmembers - used in _mytscheck to treat
>> removed INSTALL members as Removes and
>> removed REMOVE members as installs
>
> I'm not quite clear on what exactly this is trying to solve...
>
> Jeremy
We currently check only transaction members and if a transaction member is
OK it is not touched anymore (which is a Good Thing (tm)). This means if an
transaction member is removed from the transaction nothing is done
(additionally). But removing an transaction member can break dependencies.
If an INSTALL member is removed dependencies in other packages (which may be
in the OK/never ever touch again state) may require this package. The other
way round removing an REMOVE member readds the pkg but doesn't check if all
its dependencies are still there.
To solve that we can restart the whole resolving whenever a transaction
member is removed, but that's expensive.
The other solution is to just check the removed members. Removed INSTALL
members have to be treated as removes, because the pkg is no longer part of
the transaction and removed REMOVE members have to be treated as installs
because the pkg is added to the transaction again.
That's what that part of the patch is doing (yes, it should be factored out
into a separate patch).
Florian
More information about the Yum-devel
mailing list