This is the mail archive of the
mailing list for the Cygwin project.
Re: [PATCH setup 00/14] Use libsolv, solve all our problems... (WIP)
- From: Jon Turney <jon dot turney at dronecode dot org dot uk>
- To: cygwin-apps at cygwin dot com
- Date: Tue, 5 Dec 2017 14:32:45 +0000
- Subject: Re: [PATCH setup 00/14] Use libsolv, solve all our problems... (WIP)
- Authentication-results: sourceware.org; auth=none
- References: <firstname.lastname@example.org> <email@example.com> <firstname.lastname@example.org> <87poau9znx.fsf@Rainer.invalid> <email@example.com> <87ingltcn0.fsf@Rainer.invalid> <firstname.lastname@example.org>
On 14/09/2017 21:46, Ken Brown wrote:
On 9/14/2017 1:26 PM, Achim Gratz wrote:
Ken Brown writes:
What I've been struggling with, however, is the UI. But now that I
think about it, maybe it isn't that hard. It's just a matter of doing
something reasonable if the user unchecks "Accept default problem
solutions". I'll see what I can come up with.
Well, zypper pretty much just gives you a bunch of possible solutions
and asks you to select one if there is either more than one or the
otherwise preferred solution is blocked by a lock. There is always one
"break <whatever> package by doing <stuff>" down that list. You could
maybe offer something along those lines in the inevitable dialog box?
In the long run I think that's the way to go. But implementing that is
more work than I feel like doing at the moment. For now I've gone with
an approach that was easier to program, more like the current setup.exe.
If the solver finds problems (including missing dependencies), the
user has four choices on the Prerequisite page:
1. Click Back to go back to the Chooser page, with the Pending view
showing the solver's default solutions.
2. Click Next to accept the default solutions.
Doing some testing of per-version requires, I've been looking at this
page quite a bit.
It seems we're missing something to actually apply the default solution,
so "accept default solutions" makes no changes, at the moment. (looks
like we have to do this ourselves with solver_take_solution() ?)
Also, in the dependency problem report, we should identify which of the
possible solutions is the default one, so it's clearer what "accept
default solutions" is going to do.
3. Uncheck the "Accept default solutions" box and click Next. If the
user dismisses the resulting warning, setup will go ahead and do what
the user requested.