[PATCH setup 00/14] Use libsolv, solve all our problems... (WIP)

Jon Turney jon.turney@dronecode.org.uk
Mon Jan 15 19:02:00 GMT 2018


On 13/01/2018 19:56, Ken Brown wrote:
> 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().

Hmm... not sure.

I don't think we want to applyDefaultProblemSolutions(), because the 
user should solve the problems their way.

As to finalize():

Not doing augmentTasks() means that a reinstall would disappear when we 
go back, so I guess we need that.

I don't think we want to addSource() as the consequences of that are 
never shown in the chooser, currently.

> 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.

Yes, good point.  I added your patch.



More information about the Cygwin-apps mailing list