From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 81231 invoked by alias); 17 Mar 2018 14:59: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 81215 invoked by uid 89); 17 Mar 2018 14:59:44 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=offer, site, HContent-Transfer-Encoding:8bit X-HELO: limerock04.mail.cornell.edu Received: from limerock04.mail.cornell.edu (HELO limerock04.mail.cornell.edu) (128.84.13.244) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 17 Mar 2018 14:59:41 +0000 X-CornellRouted: This message has been Routed already. Received: from authusersmtp.mail.cornell.edu (granite4.serverfarm.cornell.edu [10.16.197.9]) by limerock04.mail.cornell.edu (8.14.4/8.14.4_cu) with ESMTP id w2HExc5O006072 for ; Sat, 17 Mar 2018 10:59:38 -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 w2HExbbV024294 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for ; Sat, 17 Mar 2018 10:59:38 -0400 Subject: Re: Problem with packagesource::sites in setup To: cygwin-apps@cygwin.com References: <524788d7-3a0d-dd1a-9c02-021ad1606361@cornell.edu> <42e30538-aae7-4dd1-3721-2dc38ca903a4@dronecode.org.uk> <871b2b53-f653-e463-1ddb-682fd8cb5102@cornell.edu> From: Ken Brown Message-ID: <4c55c77d-77b0-9ef2-b20e-ea0b7326e3bd@cornell.edu> Date: Sat, 17 Mar 2018 14:59:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <871b2b53-f653-e463-1ddb-682fd8cb5102@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: 2018-03/txt/msg00030.txt.bz2 On 3/16/2018 7:44 AM, Ken Brown wrote: > On 3/15/2018 10:42 PM, Ken Brown wrote: >> On 3/15/2018 6:07 PM, Jon Turney wrote: >>> On 15/03/2018 21:23, Ken Brown wrote: >>>> I think we're currently mishandling packagesource::sites when >>>> several libsolv repos contain the same version of a package.  If I'm >>>> not mistaken, we create a new packageversion pv for each repo, and >>>> pv.source()->sites contains a single site, corresponding to that repo. >>>> >>>> So we never take advantage of the fact that we have more than one >>>> mirror (or mirror directory) from which we can potentially obtain an >>>> archive for the package. >>> >>> Hmm... I think this is going to interact with the package >>> repositories release: label.  If they are both "cygwin", then one >>> will overwrite the other. >> >> I hadn't thought of that.  But will one really overwrite the other or >> will we just get several copies of the same package and version in the >> "cygwin" repo, each with its own site? >> >>>   If they are different, then we'll have 2 separate libsolv repos. >> >>> In the first case, I'm not sure that having the same package >>> available from more than one package repository mirror was ever was >>> doing anything terribly useful (i.e. it doesn't make the download any >>> faster, or more reliable) >> >> No, but it can help if one mirror is having transient network >> problems. For example, we might get a corrupt archive from one mirror, >> and then the loop in download.cc:download_one() will try the next >> one.  I have no idea how many users use more than one mirror with the >> expectation that this will happen.  Probably not many. >> >>> But, yeah, what we are doing currently is probably wrong. >> >> And I'm less convinced now that it's worth worrying about. > > I just realized that this affects local installs also.  Here it's not > unusual for a user to have several mirror directories from different > setup runs.  But if two different setup.ini files list a given > packageversion, setup will offer it for install only if the archive is > found in the directory corresponding to the last setup.ini read. > > So I do think this should be fixed. A patchset is on its way. Ken