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 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.

4. Cancel.

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