Nagy Gabor wrote:
Bump on these. As I see, 1-2 are fixed now (mentioned in the first mail of this thread). But the "duplicated messages/data-list" issue is still here. After my "Print warning in _alpm_resolvedep() if a satisfier package is ignored without QUESTION" patch this issue became even worse, maybe that patch should be reverted, I dunno...
The most precise [but ugly source-code] solution would be the following (imho): Maintain a dropped list for dropped (unresolvable) packages. This would prevent duplicated work (and duplicated messages), and this would speed-up our algorithm a bit in xav's example.
Bye
Hi, I was on vacation in Australia for 3 weeks and am in the process of moving now, so I'm really out of the loop here. I can barely remember the issues involved here. I believe I submitted two patches before I left that solved some of the issues that were pointed out by Nagy. Have these been accepted into the pacman sources? Nagy, are you running your test with these patches?
Your "Look in target-list first to resolve dependencies" and "Remove duplicates from the unresolvable list before..." patches were accepted.
If so, then I agree that the final problems that exist are ugly, but fortunately just cosmetic.
I also continue to believe that the warning message you've added about ignored packages is unnecessary. The user knows what packages they've put in their ignore list and that these packages may be ignored at any time as dependency satisfiers. I don't think they need to be warned about it. At the very least, it should be an optional warning turned on by a command-line flag. That's my opinion anyway.
If your warning is taken out, what does the new output of pacman look like in the situation you are reporting? I imagine there are still some duplicated messages, but what exactly?
The problem is that pacman may want to pull a package many times (without success, of course), and all the warnings around this package may be echoed many times: a. provider package was selected b. cannot resolve "foo", a dependency of "bar" c. ignoring package [NEW]. Basically, I think that a. is useful, because pacman's automatic provision selection is not always suitable for the user [libgl], b. can be simply removed (finally we always print a nice error message, which should be tuned using causingpkg, read back ;-), c. may be unnecessary (But I don't really like when pacman is totally silent about IgnorePkg. Don't forget that we also have IgnoreGroup.). My standpoint is that some of these messages are useful, but at most once ;-). I have no clear solution for this issue, we may have to make some compromises... Bye