From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 77863 invoked by alias); 9 Jan 2018 13:32:45 -0000 Mailing-List: contact cygwin-apps-help@cygwin.com; run by ezmlm Precedence: bulk Sender: cygwin-apps-owner@cygwin.com List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Mail-Followup-To: cygwin-apps@cygwin.com Received: (qmail 77852 invoked by uid 89); 9 Jan 2018 13:32:44 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy=Displaying, Click, click, Hx-spam-relays-external:ESMTPA X-HELO: out3-smtp.messagingengine.com Received: from out3-smtp.messagingengine.com (HELO out3-smtp.messagingengine.com) (66.111.4.27) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 09 Jan 2018 13:32:43 +0000 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 85C5D20BC2 for ; Tue, 9 Jan 2018 08:32:41 -0500 (EST) Received: from frontend1 ([10.202.2.160]) by compute6.internal (MEProxy); Tue, 09 Jan 2018 08:32:41 -0500 X-ME-Sender: Received: from [192.168.1.102] (host86-179-112-242.range86-179.btcentralplus.com [86.179.112.242]) by mail.messagingengine.com (Postfix) with ESMTPA id 179F97E53E for ; Tue, 9 Jan 2018 08:32:41 -0500 (EST) Subject: Re: setup libsolv UI: Silently install dependencies? To: cygwin-apps@cygwin.com References: <053865d5-650a-ad79-e91e-4a047e09cb9d@cornell.edu> <97faff36-4e70-394e-9636-b8a3bb98c947@dronecode.org.uk> From: Jon Turney Message-ID: <11d9690d-ea39-9547-e3b3-e42697f12849@dronecode.org.uk> Date: Tue, 09 Jan 2018 13:32:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-SW-Source: 2018-01/txt/msg00015.txt.bz2 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)