From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 84903 invoked by alias); 19 Oct 2017 15:05:22 -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 84890 invoked by uid 89); 19 Oct 2017 15:05:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-7.1 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_2,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1841, HContent-Transfer-Encoding:8bit X-HELO: limerock02.mail.cornell.edu Received: from limerock02.mail.cornell.edu (HELO limerock02.mail.cornell.edu) (128.84.13.242) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 19 Oct 2017 15:05:20 +0000 X-CornellRouted: This message has been Routed already. Received: from authusersmtp.mail.cornell.edu (granite4.serverfarm.cornell.edu [10.16.197.9]) by limerock02.mail.cornell.edu (8.14.4/8.14.4_cu) with ESMTP id v9JF5I70008350 for ; Thu, 19 Oct 2017 11:05:18 -0400 Received: from [192.168.0.15] (mta-68-175-129-7.twcny.rr.com [68.175.129.7] (may be forged)) (authenticated bits=0) by authusersmtp.mail.cornell.edu (8.14.4/8.12.10) with ESMTP id v9JF5Gwa027952 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for ; Thu, 19 Oct 2017 11:05:17 -0400 Subject: Re: [PATCH] Revert "Don't override a Keep selection" To: cygwin-apps@cygwin.com References: <20171016191321.9504-1-kbrown@cornell.edu> <66510301-7c57-ac6c-9e4c-05cf5816d3a9@cornell.edu> <46f9afd9-03fb-b07c-de0e-22dd0586b153@cornell.edu> From: Ken Brown Message-ID: <63bf8a45-0661-7045-3dce-15c554e8248b@cornell.edu> Date: Thu, 19 Oct 2017 15:05:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <46f9afd9-03fb-b07c-de0e-22dd0586b153@cornell.edu> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-PMX-Cornell-Gauge: Gauge=XXXXX X-PMX-CORNELL-AUTH-RESULTS: dkim-out=none; X-IsSubscribed: yes X-SW-Source: 2017-10/txt/msg00087.txt.bz2 On 10/18/2017 11:01 PM, Ken Brown wrote: > On 10/17/2017 3:31 PM, Ken Brown wrote: >> On 10/17/2017 2:43 PM, Jon Turney wrote: >>> On 16/10/2017 20:13, Ken Brown wrote: >>>> This reverts (the rest of) commit b43b697.  Part of that commit was >>>> already reverted in commit ff0bb3d.  The rest is not needed either >>>> since we no longer send the upgrade flag to the solver after the user >>>> has made their selections. >>>> --- >>>>   libsolv.cc     | 14 +++----------- >>>>   libsolv.h      |  1 - >>>>   package_meta.h |  2 -- >>>>   3 files changed, 3 insertions(+), 14 deletions(-) >>> >>> Hmm... not sure about this. >>> >>> Say the initial upgrade solution had something like: package A 1.0 -> >>> 1.1, and A 1.1 has a dependency on package B 2.0, where currently B >>> 1.0 is installed (so B 1.0 -> 2.0) >>> >>> If the user then changes B to 'keep' (at 1.0), we should report a >>> conflict? >> >> Good point.  I wasn't thinking about dependencies with version relations. > > I just tested this scenario, and it turns out that putting a lock on B > 1.0 overrides the dependency of A 1.1 on B 2.0.  There's no problem > reported.  On the other hand, if there's no lock, then the dependency > overrides the Keep choice, again with no problem reported. > > Back to the drawing board. Thinking about this further, using SOLVER_LOCK is probably the right thing to do in this situation, even if no problem is reported. We can't insist that users install the recommended version. For example, if I choose to downgrade binutils while keeping the current gcc, then I'm responsible for any breakage this might cause, with or without a warning from setup. I'll prepare a new patch that restores the SOLVER_LOCK functionality that was inadvertently removed in commit ff0bb3d. Ken