From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 122664 invoked by alias); 21 Oct 2017 20:21:37 -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 122648 invoked by uid 89); 21 Oct 2017 20:21:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.0 required=5.0 tests=AWL,BAYES_00,DATE_IN_PAST_03_06,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=no version=3.3.2 spammy=our, 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; Sat, 21 Oct 2017 20:21:36 +0000 X-CornellRouted: This message has been Routed already. Received: from authusersmtp.mail.cornell.edu (granite3.serverfarm.cornell.edu [10.16.197.8]) by limerock02.mail.cornell.edu (8.14.4/8.14.4_cu) with ESMTP id v9LKLXQu023893 for ; Sat, 21 Oct 2017 16:21:34 -0400 Received: from [10.13.22.3] (50-192-26-108-static.hfc.comcastbusiness.net [50.192.26.108]) (authenticated bits=0) by authusersmtp.mail.cornell.edu (8.14.4/8.12.10) with ESMTP id v9LKLT9i012881 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for ; Sat, 21 Oct 2017 16:21:33 -0400 Subject: Re: [setup topic/libsolv] Packages contained in multiple repositories To: cygwin-apps@cygwin.com References: <9db21b28-18fa-603d-dec2-e49f72f9832e@cornell.edu> <87k1zs4dej.fsf@Rainer.invalid> <16655ef1-6672-b071-29d2-e195c8411ba7@dronecode.org.uk> From: Ken Brown Message-ID: <02a981d0-1b57-0b49-2a72-cf6241658b78@cornell.edu> Date: Sat, 21 Oct 2017 20:21: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: <16655ef1-6672-b071-29d2-e195c8411ba7@dronecode.org.uk> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-PMX-Cornell-Gauge: Gauge=XX X-PMX-CORNELL-AUTH-RESULTS: dkim-out=none; X-IsSubscribed: yes X-SW-Source: 2017-10/txt/msg00094.txt.bz2 On 10/19/2017 9:36 AM, Jon Turney wrote: > On 18/10/2017 17:41, Achim Gratz wrote: >> Ken Brown writes: >>> In retrospect, I'm not sure this patch is right, but I'm sending it >>> anyway for the sake of discussion.  My hesitation comes from the fact >>> that libsolv might have a good reason for preferring the one it chose, >>> e.g., if we've assigned priorities to the repos.  On the other hand, >>> if we've gone to the trouble of assigning priorities, shouldn't >>> packagemeta reflect our choice? >> >> Extrapolating from my experience with zypper, libsolv should stick with >> the repo the installed package comes from even if some other repo has a >> newer version. > > Unfortunately, we are limited by the fact that installed.db doesn't > record which repo an installed package came from. > > We map repo setup.ini release: labels to package vendor names, so we > assume it's 'Cygwin' for an installed package (package_db.cc:115), and > run the solver with SOLVER_FLAG_ALLOW_VENDORCHANGE on (libsolv.cc:745) > to allow it to get upgraded by a package in the repo it actually came > from, but we've forgotten. > > I'm not overly concerned about this: we don't define what happens in > this situation currently, and if the packages are identical, it's no > problem. Here's a situation where I think it might be a problem: fixup_source_package_ids only considers packageversions that are registered in packagedb. If libsolv later selects a packageversion from a different repo and the user has requested the source, it might not be found. Ken