On 05/01/2018 16:04, Ken Brown wrote:
On 1/5/2018 10:48 AM, Jon Turney wrote:
On 24/12/2017 23:23, Ken Brown wrote:
Currently the libsolv version of setup silently installs added
dependencies. The user gets a chance to review them first only if
libsolv finds problems and has to display the prerequisite page.
I'm not sure if this was a deliberate design decision, though I
personally like it. On the other hand, I suspect that some users
won't like it because they're used to seeing a report about missing
dependencies. So I think we should make this behavior optional.
Yeah. Ideally we'd show what we're going to do, before we do it.
This is a bit more complex than before, as the solver might decide to
remove or upgrade packages, rather than just install extra ones.
The attached patch is a start in that direction. But it needs a
followup patch to implement the mechanism for selecting the option.
One possibility is a checkbox on the chooser page, which then gets
saved in setup.rc as a user option. Are there other suggestions?
But, somewhat confused by this. Isn't this just going to show the
(empty) problem report?
No, it shows a report that says, "Click Back and select the Pending view
to review the default problem solutions, including packages that were
added to resolve dependencies." This isn't ideal, because it forces the
user to select 'Back', and even then the user can't see explicitly why
packages were added. It would be better if we could get libsolv to give
Ah, right.
us a report about added dependencies. Do you know if this is possible?
Hmmm.. there's the SOLVER_USERINSTALLED flag we can apply to a task.
Perhaps that is passed through, so we can see what's been installed
directly vs. dependencies.
Otherwise I guess you could to compare input and output task lists to
see what has been added by the solver?
I'm not sure it's ideal to make a text report of this, though.
Displaying it in the chooser somehow seems a better fit.
(i.e. after you've made your selections, you get something like the
"pending" view in the chooser again, showing what will be done, which
you can either confirm or go back from)