The recent thread... handling new releases

John Polstra jdp at polstra.com
Fri Jun 13 18:02:39 PDT 2003


In article <p05210620bb0e7675d934@[128.113.24.47]>,
Garance A Drosihn  <drosih at rpi.edu> wrote:

> I have wondered if cvsup could be smart enough to download files
> under one name, and then afterwards (on a later run) know to just
> rename that file to the official name for a public release.
> Eg, some way to say
> 
>      if file .IMAGE001 exists
>      and if the bytesize is 123456789
>      and if the MD5 of it is f4f4acfc8322c267618f93c52d465e4c
>      then rename .IMAGE001
>               to 5.2-RELEASE-i386-disc1.iso
>      endif
>      <repeat for other images>
> 
>      Proceed with standard cvsup processing.

Hmm, I'm having trouble getting excited about putting that
functionality into CVSup.  It just seems too application-specific.
What CVSup does is supposed to be conceptually simple: mirror files
from one place to another.

> This would at least reduce the exposure from people who say
> "A FILE EXISTS, THE RELEASE *MUST* HAVE HAPPENED!!!!", usually
> at the first millisecond that any official-looking filename
> appears on any ftp server.

I think you guys are making the problem more complicated than it
needs to be.  Can't you do something like this?

  - Put the new release into a directory named (for example)
    ".5.1-RELEASE-STAGING-AREA".

  - Let all the bits trickle out to the mirrors.

  - Any user dumb enough to download stuff from
    ".5.1-RELEASE-STAGING-AREA" will get what he deserves and
    deserve what he gets.

  - After the mirrors have had time to get all the bits, add a
    symlink "5.1-RELEASE -> .5.1-RELEASE-STAGING-AREA".

  - Presto, the release has appeared atomically.

John
-- 
  John Polstra
  John D. Polstra & Co., Inc.                        Seattle, Washington USA
  "Two buttocks cannot avoid friction."                     -- Malawi saying


More information about the freebsd-hubs mailing list