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

Ken Brown kbrown@cornell.edu
Fri Sep 15 16:53:00 GMT 2017


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.

Anyway, as I said, I've already disabled the use of 
PrereqChecker::upgrade.  More precisely, I've changed 
SolverSolution::update so that it never sends SOLVER_UPDATE | 
SOLVER_SOLVABLE_ALL.  As a result, PrereqChecker::upgrade is simply 
ignored, and everything seems to be working OK.

> I guess the UI could be improved to make the choice of 'Keep' or 
> 'Current' ('Update') orthogonal to 'Use test packages?'

I'm not seeing a problem here, but maybe I'm misunderstanding you.

Ken



More information about the Cygwin-apps mailing list