Nagy Gabor wrote:
First of all, if you investigate a package 5 times, pacman may ask the user 5 times, whether he wants to install a package from IgnorePkg (if we switch to non-interactive implementation, user will see 5 warnings). This is odd.
However, if we are tricky, we can almost eliminate this problem imho. (Although we must complicate the code a bit.) If you can *successfully* resolve a target package, you _will_ keep all the pulled targets, so you can push them to the ~resolved_targets list (which should be checked first, when you resolve dependencies!*). In real life, we can resolve all targets ~always. Your described problem would appear around unresolvable targets, which is not a common situation.
I think that what you are suggesting is to pass the accumulated "pulled package" list into _alpm_resolvedeps for each subsequent call to that function, so that each subsequent call can first look into the already-resolved list of packages from previous resolves. This is a great addition to my proposal and it eliminates the performance concerns. I will re-implement this way and re-submit my patches. Thanks for your help and your advice. Best wishes, Bryan