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

Ken Brown kbrown@cornell.edu
Tue Sep 26 16:07:00 GMT 2017


On 9/26/2017 10:50 AM, Jon Turney wrote:
> On 15/09/2017 17:53, Ken Brown wrote:
>> On 9/15/2017 11:15 AM, Jon Turney wrote:
>>> On 08/09/2017 19:54, Ken Brown wrote:
>>>> Finally, I have a question for you, Jon: You introduced 
>>>> PrereqChecker::upgrade, which is true if and only if the user 
>>>> selects Current or Test.  I don't see why this is needed.  I've 
>>>> disabled the use of it and haven't noticed any ill effects.  Am I 
>>>> missing something?
>>>
>>> This is supposed to be passed into SolverSolution::update() and used 
>>> to determine if a SOLVER_UPDATE | SOLVER_SOLVABLE_ALL task is given 
>>> to the solver, causing all packages to be updated (if possible) (i.e. 
>>> so 'Keep' doesn't update anything)
>>
>> I've already arranged (by using SOLVER_LOCK) that 'Keep' doesn't 
>> update anything.  So I don't think we need to worry about that case.  
>> On the other hand, if 'Current' or 'Test' is selected, then we already 
>> upgrade as appropriate in the task list sent to the solver, so I don't 
>> think it's necessary to send SOLVER_UPDATE | SOLVER_SOLVABLE_ALL to 
>> the solver in that case either.
> 
> Yeah, I see. Sigh.
> 
> If we select 'curr', then the latest version of all installed packages 
> is selected by the picker and will be shown in the pending view, and 
> gets fed into the solver.
> 
> I guess this is technically wrong: really we should ask the solver to do 
> SOLVER_UPDATE | SOLVER_SOLVABLE_ALL, which will come up with a solution 
> which updates all installed packages to the latest possible version, 
> subject to any other constraints which exist.
> 
> I suspect there's no difference between these two at the moment, though.
> 
> Not sure how to do this properly, though.

One possibility is that we feed all our information to the solver before 
going to the chooser page.  We could then present the solver's initial 
solution in the pending view as the first thing the user sees.

Ken



More information about the Cygwin-apps mailing list