This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]