Hi!

I reworked my resolveDeps patch to get it into an commitable state. The first two pieces can be found at

http://www.jur-linux.org/git/?p=yum-ffesti.git;a=shortlog;h=resolveDeps2

For getting the code do:

git clone git://www.jur-linux.org/git-data/yum-ffesti
cd yum-ffesti
git checkout origin/resolveDeps2

Be aware that the patches in questions are in the resolveDeps2 branch.


The first patch replaces the NVR tuples returned by the _check*() methods by package objects. This allows to kill nearly all code within _processReq() which used to reconstruct these package objects. So this patch is quite straight forward.

The second reimplements .resolveDeps() while introducing a new _resolveRequires() method and kills ._mytscheck(). Reason for this is getting ._checkConflicts() and ._checkFilerequires() out of the depsolving loop. This significantly speeds up cases with a lot of depsolving rounds like my "install [a-k]*" and "remove glibc" test cases. The patch also further simplifies the return tuples of the .check*() methods. As this patch is a bit less straight forward close reviews are welcome.

I didn't manage to get ._processConflict() fixed up yet. It still is restricted to conflicts matching package names (in opposite to conflicts matching provides) and still doesn't make use of the package objects that could be passed from _checkConflict().

Florian
_______________________________________________
Yum-devel mailing list
[email protected]
https://lists.dulug.duke.edu/mailman/listinfo/yum-devel

Reply via email to