cvs commit: projects/freebsd-update-server/tools umirror-init.sh
umirror-package.sh umirror-release.sh umirror.sh
Colin Percival
cperciva at FreeBSD.org
Tue Sep 1 10:49:17 UTC 2009
cperciva 2009-09-01 10:49:16 UTC
FreeBSD projects repository
Added files:
freebsd-update-server/tools umirror-init.sh umirror-package.sh
umirror-release.sh umirror.sh
Log:
Add scripts used for mirroring FreeBSD Update bits. In order to keep
the window between SVN commits being done to the src tree and updates
being available via FreeBSD Update to a minimum, bits are distributed
first as encrypted tarballs and encryption keys are "released" later.
The list of tarballs and their hashes is signed with an RSA key.
Server-side usage:
* Run umirror-init.sh on update-master to generate a key and set up
some files.
* Make FreeBSD Update buildboxes upload bits into a staging directory
(e.g., ~builder/update-master-stage).
* Run umirror-package.sh to package up bits from the staging directory
and publish an encrypted tarball.
* Wait until it's time to release the bits.
* Run umirror-release.sh to publish all not-yet-released decryption
keys.
Mirror-side usage:
* Run umirror.sh from a cron job to poll for updates, downloading
encrypted tarballs when they become available, and downloading the
decryption keys and extracting the bits when possible. I recommend
running umirror.sh from a cron job every minute, guarded by a lock
file.
The FreeBSD Project is using these scripts now, but other users of
FreeBSD Update probably do not need them -- the FreeBSD Update build
code is designed to upload bits directly to a published directory.
These scripts are only made necessary by the dual problems of
(a) wanting to get FreeBSD Update bits out to multiple mirrors quickly,
and (b) dealing with embargoed updates.
Revision Changes Path
1.1 +45 -0 projects/freebsd-update-server/tools/umirror-init.sh (new)
1.1 +62 -0 projects/freebsd-update-server/tools/umirror-package.sh (new)
1.1 +18 -0 projects/freebsd-update-server/tools/umirror-release.sh (new)
1.1 +164 -0 projects/freebsd-update-server/tools/umirror.sh (new)
More information about the cvs-projects
mailing list