DOING A BARNOWL RELEASE

[ ] Send mail to barnowl-dev indicating that a release is happening
    soon, and soliciting any improvements that developers want
    included in the release.

[ ] Wait a while (a week or so, or more if necessary) for any pending
    patches to get in.

[ ] Prepare the -rc commit

 [ ] Run ./scripts/add-changelog NEW-VERSION PREV-TAG..HEAD

 [ ] Edit ChangeLog to combine and filter entries

 [ ] Edit configure.ac to bump the version to 1.Nrc1

[ ] Commit with message 'BarnOwl 1.Nrc1'; don't push until after
    builds all succeed

[ ] Run scripts/do-release with -f (so it won't complain about missing
    changelog), makes a tarball

[ ] Make all the builds
 
 [ ] On build@nelhage.com, run barnowl-build-all TARBALL to build for
     everything with chroots, doesn't do athena 9 builds. Builds into
     locker parellel to all other versions.

 [ ] Do two athena9 builds: solaris and linux, usually use multics (or
     sun.dialup) for the solaris build, oliver for linux athena9

  [ ] Remember to add gnu; add barnowl

  [ ] eval `barnowl-perl-config` to include the perl modules in the
      barnowl locker

  [ ] Run scripts/locker-build TARBALL (barnowl-build-all loops over
      all of them in schroots). It overrides existing one.

[ ] Sanity-check the builds

 [ ] Do cursory testing on debathena platforms and both athena9s.

 [ ] chroots on nelhage.com also useful

[ ] Update symlinks with locker-update script;

      locker-update [-b] [-n] VERSION

    e.g. locker-update -b -n barnowl-1.6rc1
 
 [ ] -b for the beta

 [ ] -n first for dry-run

[ ] Push the RC commit

[ ] Copy tarball into /mit/barnowl/web_scripts/dist

[ ] Send mail (rcs to barnowl-dev@, release to barnowl-users@)

[ ] Make an actual release about a week after the RC


LOCKER LAYOUT

* builds/barnowl-VERSION contains the arch-independent files by
  version

* arch/SYSNAME/bin/barnowl-VERSION is the actual binary

* arch/SYSNAME/bin/barnowl is a symlink to ../../common/bin/barnowl
  (wrapper script runs barnowl.real). .../barnowl.real is a symlink to
  the latest version.

* zcrypt is also installed with a versioned name, but currently
  barnowl-N will not run zcrypt-N, so we can't change that interface
  at all.