[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