Okay, I'm losing my mind on this so I'm going to write pseudo-code of
what should be happening for this dep presentation. Everyone who can
understand this, please respond:
- get the list of items in the transaction:
- for installs, check that all the reqs of this install are provided
- for each pkg that provides for it, make sure the pkg is not
being
updated/removed/obsoleted.
- if providing_pkg is being updated/obsoleted: verify that the
updating/obsoleting pkg provides the reqs
- if it does not, mark the req as needed
- if providing_pkg is being removed:
- mark the dep as being needed
- for removes, for each provide of each removing_pkg:
- for each pkg that requires this provide, mark it as needing a
dependency
unless:
- something else provides the dep
- something being installed provides the dep
- for updates
- break them into install and remove
- for all installs, pass to install
- for all removes pass to delete
- for obsoletes
- break them into install and remove
- for all installs, pass to install
- for all removes, pass to remove
I'm not sure I have the case right for updates/obsoletes but looking
through the code it seems to be quasi-sane for matching the sets of
deps/provs.
I'm open to correction on this, though.
-sv
_______________________________________________
Yum-devel mailing list
[email protected]
https://lists.dulug.duke.edu/mailman/listinfo/yum-devel