From owner-freebsd-ports@FreeBSD.ORG Wed Jul 28 15:58:28 2010 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 85F611065672 for ; Wed, 28 Jul 2010 15:58:28 +0000 (UTC) (envelope-from freebsd-ports@m.gmane.org) Received: from lo.gmane.org (lo.gmane.org [80.91.229.12]) by mx1.freebsd.org (Postfix) with ESMTP id 131498FC0C for ; Wed, 28 Jul 2010 15:58:27 +0000 (UTC) Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1Oe91V-000489-PX for freebsd-ports@freebsd.org; Wed, 28 Jul 2010 17:58:25 +0200 Received: from static-78-8-147-77.ssp.dialog.net.pl ([78.8.147.77]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 28 Jul 2010 17:58:25 +0200 Received: from mwisnicki+freebsd by static-78-8-147-77.ssp.dialog.net.pl with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 28 Jul 2010 17:58:25 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: freebsd-ports@freebsd.org From: Marcin Wisnicki Date: Wed, 28 Jul 2010 15:58:13 +0000 (UTC) Lines: 48 Message-ID: References: <4c4fac09.Kkzz6V/G5TxaiQAZ%perryh@pluto.rain.com> <4C504F25.8050607@bsdforen.de> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: static-78-8-147-77.ssp.dialog.net.pl User-Agent: Pan/0.132 (Waxed in Black) Subject: Re: Strange contents on some ftp mirrors X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jul 2010 15:58:28 -0000 On Wed, 28 Jul 2010 17:39:17 +0200, Dominic Fandrey wrote: > On 28/07/2010 15:15, Marcin Wisnicki wrote: >> On Tue, 27 Jul 2010 21:03:21 -0700, perryh wrote: >> >>> Marcin Wisnicki wrote: >>>> At this very moment, french package mirror has INDEX newer than in >>>> other mirrors: >>>> >>> ... >>>> >>>> yet it does not have those packages. >>>> >>>> How could something like this happen ? >>> >>> By being examined while a resync was in process: evidently the new >>> INDEX file had been transferred but that package file (and likely >>> others) were still in transit or perhaps not even started yet. >>> Mirroring is not an instantaneous process. >> >> Yeah that was it, but it is really, really bad. Mirroring must be >> atomic (mirror to temporary directory then rename). Otherwise there is >> a large window of time every couple of days when upgrading packages >> will at best fail or leave you with broken system. I did binary upgrade >> with pkg_upgrade yesterday and half of my system was linked against >> wrong libintl version :( > > The next version of pkg_upgrade will check every downloaded package > against the master server after completing the download. > Great, I need this so much. Currently to really upgrade packages I must do something like: rm -rf /usr/ports/packages pkg_upgrade -af to make sure rebuilt packages are refetched. But it's obviously suboptimal. I think you could also detect inconsistent mirror by comparing modification time of package against mtime of INDEX. If pkg is newer than INDEX then it's a sign of incomplete sync. > I expect to release it at the end of September. > > Regards