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 1/15/2018 2:01 PM, Jon Turney wrote:
On 13/01/2018 19:56, Ken Brown wrote:
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().

Hmm... not sure.

I don't think we want to applyDefaultProblemSolutions(), because the user should solve the problems their way.

Right. I was forgetting that the user no longer has to select 'Back' to see the default solutions. So we should probably delete the addendum to the problem report that tells them to do that.

As to finalize():

Not doing augmentTasks() means that a reinstall would disappear when we go back, so I guess we need that.

I don't think we want to addSource() as the consequences of that are never shown in the chooser, currently.

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.

Yes, good point.  I added your patch.


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