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

Ken Brown kbrown@cornell.edu
Tue Aug 29 13:37:00 GMT 2017


On 5/31/2017 6:50 AM, Jon Turney wrote:
> ... solve some problems, perhaps add some new ones, I guess.  I'm not 100%
> sure this is the right approach to take, but I wrote it, so here it is.
[...]
> - As implemented, selecting "Current" overrides "Keep".  This is wrong, and a
> change from current behaviour, but is probably a symptom of some deeper
> confusion in the picker UI I'm not sure how to address

I think the problem might be the following lines in the definition of 
SolverSolution::update:

   if (update)
     queue_push2(&job, SOLVER_UPDATE | SOLVER_SOLVABLE_ALL, 0);

When the prerequisite checker calls SolverSolution::update, doesn't this 
cause the upgrading of old versions that we want to keep (assuming 
"Current" has been selected)?  As a quick test, I commented out those 
lines and found that setup.exe let me keep an old version of a package.

Maybe you need to add a DISABLE_UPDATE command to the solver task list 
to implement "Keep" for packages that would otherwise be updated.

(Disclaimer: I have only looked briefly at the libsolv sources, so what 
I'm saying might be complete nonsense.)

Ken



More information about the Cygwin-apps mailing list