[PATCH setup 00/14] Use libsolv, solve all our problems... (WIP)
Ken Brown
kbrown@cornell.edu
Sat Jan 13 19:56:00 GMT 2018
On 1/13/2018 9:14 AM, Jon Turney wrote:
> On 09/01/2018 15:49, Ken Brown wrote:
>> On 1/9/2018 10:37 AM, Ken Brown wrote:
>>>
>>> I just did a quick test, trying to uninstall B in the situation above,
>>> and it didn't work as expected. Even though "Uninstall A" was the first
>>> solution, A didn't get uninstalled.
>>
>> In case you want to replicate this, what I actually tried was
>> uninstalling ImageMagick, which is required, directly or indirectly,
>> by asymptote, dblatex, and xmlto. Solution 1 was to uninstall these
>> three but it didn't happen.
>
> Doh.
>
> solver_take_solution() modifies the task list (and I went to the trouble
> of refactoring things to make it available to it), but I didn't then
> re-solve with the modified task list.
>
> Also, looking at this again, it looks like the solver places solutions
> which remove a task at the end of of the solution list, so this should
> be the default
>
> (This matches the previous behaviour, where the default is to accept
> dependencies i.e. if you try to remove a package required by other
> packages, the default solution should be to cancel the removal)
>
> Maybe we need more complex criteria to identify the default, but this
> seems to work in my limited testing.
I noticed two things:
1. I think the code you added to PrereqPage::OnNext() also needs to be
added to PrereqPage::OnBack().
2. We should probably remove, or at least reword, the dire warning about
accepting the default solutions. I'm not sure we want to "strongly
recommend" the default solution over the other solution(s). I guess
what we really want to say is that we strongly recommend resolving the
problems before continuing.
Ken
More information about the Cygwin-apps
mailing list