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

Ken Brown kbrown@cornell.edu
Mon Jan 15 21:50:00 GMT 2018


On 1/15/2018 2:01 PM, Jon Turney wrote:
> 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.

Right.  I was forgetting that the user no longer has to select 'Back' to 
see the default solutions.  So we should probably delete the addendum to 
the problem report that tells them to do that.

> 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