Strange contents on some ftp mirrors

Marcin Wisnicki mwisnicki+freebsd at gmail.com
Wed Jul 28 15:58:28 UTC 2010


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 <mwisnicki+freebsd at gmail.com> 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




More information about the freebsd-ports mailing list