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/13/2018 8:52 PM, Brian Inglis wrote:
On 2018-01-13 17:00, Ken Brown wrote:
On 1/13/2018 5:55 PM, Ken Brown wrote:
On 1/13/2018 4:29 PM, Brian Inglis wrote:
On 2018-01-13 12:56, Ken Brown wrote:
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.

For users who only run setup and use programs, a dire warning and strong
recommendations are appropriate.

Alternatives are to also remove all packages dependent on the package to be
removed, or lastly, to remove only the requested package, leaving the
installation inconsistent. Those alternatives would have to be presented to the
user for selection, then executed.

Anything else requiring the user to resolve would require a FAQ entry explaining
what that meant, what diagnosis and actions would be required, and that would
probably generate emails from users asking what they should do.

Better to allow the solver to resolve issues and just let users choose
straightforward alternatives, with the view of trying to keep the installation
consistent, unless explicitly overridden, such as to test an alternative
implementation of a dependency installed outside of setup.

The current situation on the topic/libsolv branch is the following. Suppose A
requires B and the user asks to uninstall B.  They will get a problem report
showing two possible solutions:

1. Uninstall A.
2. (default) Don't uninstall B.

If they uncheck 'Accept default solutions' and select 'Next', they'll get a
warning that says "We strongly recommend that you accept the default
solutions.  Some packages may not work properly if you don't. Are you sure you
want to proceed?"

This is misleading insofar as it implies that something bad will happen if the
user prefers to solve the problem by uninstalling A.  What is true is that
some packages may not work properly if the user answers 'Yes'.

I think we should be able to find wording that is accurate while still making
it clear that we recommend going back and fixing the problem.  I don't yet
have a good candidate for that wording.

Something like the attached might do the job.

Just saying "Unsolved problems" does not tell the user what they did and what
impact it will have, and invites a FAQ entry for Setup - Unsolved problems.

"WARNING - Unsolved Problems" is simply the caption on the message box.

Could we please be more explicit in the UI and the logs about the action being
taken and the impact: instead of "Unsolved problems" and "Some packages" maybe
something more like "uninstalling package U will break packages P1...", and

We were already explicit when we displayed the prerequisites page with a problem report. There's no need to repeat it. What we're discussing right now is what warning we should give if the user, *after seeing the problem report*, unchecks the 'Accept default solutions' box and selects 'Next'.

instead of "default solutions" maybe something more like "recommended actions"?

I've already explained why I think it would be misleading to say "recommended" rather than "default". In the scenario above with packages A and B, the user may be trying to pare down their installation by uninstalling some packages. They try to uninstall B, we warn them that this will break A, and we offer them two possible solutions.

It's perfectly reasonable for us to present "Keep B" as the default solution, especially since, as Jon pointed out, that's what we currently do. But I don't think it's reasonable for us to *recommend* keeping B without knowing what the user wanted to accomplish. Maybe uninstalling A better fits their needs.

That shows and records the action and impact for diagnosis and remediation when
users do something unintended and need to undo it, changing the messaging from
the implementation model to the user's model, and giving users and maintainers
enough information to diagnose what will or did happen, and how to undo that.

The current code in the topic/libsolv branch already does this. Maybe it could do it better. It would be great if you would test it and suggest improvements.

Ken


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