setup libsolv UI: Silently install dependencies?

Jon Turney jon.turney@dronecode.org.uk
Tue Jan 9 13:32:00 GMT 2018


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)



More information about the Cygwin-apps mailing list