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.