From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 129409 invoked by alias); 29 Sep 2017 17:38:15 -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 129399 invoked by uid 89); 29 Sep 2017 17:38:15 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy=fed, traveling, loud, Applied X-HELO: out1-smtp.messagingengine.com Received: from out1-smtp.messagingengine.com (HELO out1-smtp.messagingengine.com) (66.111.4.25) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 29 Sep 2017 17:38:13 +0000 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 4707F21819; Fri, 29 Sep 2017 13:38:12 -0400 (EDT) Received: from frontend1 ([10.202.2.160]) by compute6.internal (MEProxy); Fri, 29 Sep 2017 13:38:12 -0400 X-ME-Sender: Received: from [192.168.1.102] (host86-141-130-248.range86-141.btcentralplus.com [86.141.130.248]) by mail.messagingengine.com (Postfix) with ESMTPA id D05667FA60; Fri, 29 Sep 2017 13:38:11 -0400 (EDT) Subject: Re: [PATCH setup 00/14] Use libsolv, solve all our problems... (WIP) To: Ken Brown References: <20170531105015.162228-1-jon.turney@dronecode.org.uk> <488ba627-de58-ddc7-7f69-696adae76b8a@cornell.edu> <9bcf50cf-81bc-c9d1-3ac3-b7e1a3522045@dronecode.org.uk> <5441628f-a99a-1611-616a-da98ea9a0e12@cornell.edu> <7044db65-8b6e-6bf6-a079-99397917ce43@cornell.edu> Cc: cygwin-apps@cygwin.com From: Jon Turney Message-ID: <8e655423-ef53-3aeb-3d6c-de5021d3bd87@dronecode.org.uk> Date: Fri, 29 Sep 2017 17:38: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: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-SW-Source: 2017-09/txt/msg00067.txt.bz2 On 27/09/2017 21:33, Ken Brown wrote: > On 9/27/2017 3:14 PM, Jon Turney wrote: >> On 26/09/2017 17:06, Ken Brown wrote: >>> On 9/26/2017 10:50 AM, Jon Turney wrote: >>>> On 15/09/2017 17:53, Ken Brown wrote: >>>>> On 9/15/2017 11:15 AM, Jon Turney wrote: >> [...] >>>> If we select 'curr', then the latest version of all installed >>>> packages is selected by the picker and will be shown in the pending >>>> view, and gets fed into the solver. >>>> >>>> I guess this is technically wrong: really we should ask the solver >>>> to do SOLVER_UPDATE | SOLVER_SOLVABLE_ALL, which will come up with a >>>> solution which updates all installed packages to the latest possible >>>> version, subject to any other constraints which exist. >>>> >>>> I suspect there's no difference between these two at the moment, >>>> though. >>>> >>>> Not sure how to do this properly, though. >>> >>> One possibility is that we feed all our information to the solver >>> before going to the chooser page.  We could then present the solver's >>> initial solution in the pending view as the first thing the user sees. >> >> Yes, this sounds about right. >> >> Thanks to your work we kind of have a bidirectional conversion between >> packagedb pick/desired state and a SolverTransactionList now, so this >> should be possible. >> >> (Although it should be done when the state of the 'Keep' or 'Current' >> control changes - note that changing this setting clears any manual >> picks currently. [and there's a mechanism to apply the initial state >> of that control initially]) > > OK, I'll work on this.  I'm traveling at the moment, but I should be > able to do it in a couple weeks. Thanks, but that was more me thinking out loud. Since it seems pretty straightforward, I've written this change. I've rebased the topic/libsolv branch, with the following additional changes: * Applied your unrelated change to .gitignore to master * Dropped a couple patches of mine which weren't supposed to escape yet. * Squashed your "fix typo" patches into the patch they fix (I'm not sure how I managed to make that typo in bootstrap.sh! :)) * Rather than add a parameter to SolvableVersion::depends() to make it return obsoletes, I've factored out the key-to-deplist code as a helper function, and added SolvableVersion::obsoletes(). (There may be other deplist attributes in future, so this seems the sane way to do it.) * Added handling of Source: lines in setup.ini