From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 76523 invoked by alias); 8 Sep 2017 18:54:34 -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 76509 invoked by uid 89); 8 Sep 2017 18:54:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=our, clicking X-HELO: limerock03.mail.cornell.edu Received: from limerock03.mail.cornell.edu (HELO limerock03.mail.cornell.edu) (128.84.13.243) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 08 Sep 2017 18:54:32 +0000 X-CornellRouted: This message has been Routed already. Received: from authusersmtp.mail.cornell.edu (granite4.serverfarm.cornell.edu [10.16.197.9]) by limerock03.mail.cornell.edu (8.14.4/8.14.4_cu) with ESMTP id v88IsUER021350 for ; Fri, 8 Sep 2017 14:54:30 -0400 Received: from [10.128.155.29] (dhcp-gs-6941.eduroam.cornell.edu [10.128.155.29]) (authenticated bits=0) by authusersmtp.mail.cornell.edu (8.14.4/8.12.10) with ESMTP id v88IsTKU010589 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for ; Fri, 8 Sep 2017 14:54:29 -0400 From: Ken Brown Subject: Re: [PATCH setup 00/14] Use libsolv, solve all our problems... (WIP) To: cygwin-apps@cygwin.com References: <20170531105015.162228-1-jon.turney@dronecode.org.uk> Message-ID: <488ba627-de58-ddc7-7f69-696adae76b8a@cornell.edu> Date: Fri, 08 Sep 2017 18:54:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <20170531105015.162228-1-jon.turney@dronecode.org.uk> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-PMX-Cornell-Gauge: Gauge=X X-PMX-CORNELL-AUTH-RESULTS: dkim-out=none; X-IsSubscribed: yes X-SW-Source: 2017-09/txt/msg00012.txt.bz2 On 5/31/2017 6:50 AM, Jon Turney wrote: > ... solve some problems, perhaps add some new ones, I guess. I'm not 100% > sure this is the right approach to take, but I wrote it, so here it is. I've now fixed all the bugs I've noticed, and I think I've gotten the libsolv branch pretty close to the point where it is usable (barring further bugs). > - I've dodged a lot of the UI issues: If the solver reports problems, all that > can be done is accept the default solution or cancel. I've changed this so that the Back button takes the user back to the chooser page, with all packages reset to show the solver's default solution. The user can then see what will be done and, if desired, try to solve the problems in other ways. > - We had a very poor UI for showing what will actually be done (combine in > your head the "Pending" view with packages listed in the text on the > PrereChecker page), and this removes part of that This is fixed by the above. > - As implemented, selecting "Current" overrides "Keep". This is wrong, and a > change from current behaviour, Fixed. Here are some other things I've done, aside from fixing bugs: - As discussed earlier in the thread, I've made it possible for the user to install test packages without clicking the Test button. - I've artificially created a conflict if the user tries to uninstall a Base package. There's probably a better way to deal with this. - I've made the solver check dependencies of installed packages. (It doesn't do this by default, which seems strange to me.) There's still one UI issue that I haven't dealt with: If the solver finds missing dependencies, setup simply installs them silently without informing the user (except in the log). In particular, the user can no longer refuse to install them. I'm not sure how to best deal with this. Finally, I have a question for you, Jon: You introduced PrereqChecker::upgrade, which is true if and only if the user selects Current or Test. I don't see why this is needed. I've disabled the use of it and haven't noticed any ill effects. Am I missing something? Ken P.S. Anyone who wants to look at the code can find it at https://github.com/kbrow1i/cygwin-setup ; checkout the libsolv branch.