Strange contents on some ftp mirrors

Marcin Wisnicki mwisnicki+freebsd at gmail.com
Wed Jul 28 13:36:28 UTC 2010


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.



More information about the freebsd-ports mailing list