From owner-freebsd-ports@FreeBSD.ORG Wed Jul 28 13:36: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 062C4106566B for ; Wed, 28 Jul 2010 13:36: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 B47198FC13 for ; Wed, 28 Jul 2010 13:36:27 +0000 (UTC) Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1Oe6o2-0004dq-Ti for freebsd-ports@freebsd.org; Wed, 28 Jul 2010 15:36:22 +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 15:36:22 +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 15:36:22 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: freebsd-ports@freebsd.org From: Marcin Wisnicki Date: Wed, 28 Jul 2010 13:36:13 +0000 (UTC) Lines: 26 Message-ID: References: <4c4fac09.Kkzz6V/G5TxaiQAZ%perryh@pluto.rain.com> 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 13:36:28 -0000 On Wed, 28 Jul 2010 13:15:42 +0000, Marcin Wisnicki wrote: > > 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 :( > In fact atomic mirroring will not fix it completely, you must keep older > versions of packages for at least a few hours after mirroring so anyone > that started before mirroring was "commited" will have a chance to > finish. > Thinking a bit more, even *that* won't save you from broken system at the end of upgrade as it happened to me yesterday since packages keep their versions when rebuilt with different incompatible dependencies. Awww crap, whole package thing on FreeBSD is broken by design :( I guess the only possible fix for upgrades in the middle of mirroring would be to have completely immutable repositories with timestamp in their name and then some file that points to latest complete repository. Older repositories could be deleted after some time. Actually there are even programs based on rsync (liek rsnapshot) that do something similar.