On Tue, Sep 04, 2007 at 11:41:50AM +0200, Nagy Gabor wrote:
There are several bugs fixed in 3.1 (mostly fix from Nagy), ...
Well, I suggest rewriting _alpm_sync_prepare as soon as possible. You needn't apply my patch, but the current version is buggy and messy. Without going into details: -sync1003.py: you need a more clever checkdeps. -alpm_checkdeps is called in the beginning of the function, THEN some hard-to-understand manipulations are done in the target list to resolve conflicts, and (upgrade) dependencies are not checked again!
But the manipulations done there mostly cause the removal of packages. There may be a particular case where it fails, but I don't really know.
-removing a package from target list may induce a new conflict (for example: the old version conflicted, but we assumed that it will be upgraded to a non-conflicting one; but after we removed the upgrade-package, we got the conflict again)
That case looks a bit odd, but well, I tried to write a pactest for it, but couldn't reproduce this exact situation?
You can create pactest files to test these. (IIRC, my patches solve all the problems above.)
But who can? Apparently not me, at least :)