How To Roll a Release

Versioning

  • Releases are tagged from minor version branches (e.g., /branches/confman-1.9).
  • Alpha and Beta tags are suffixed with "a" and "b", respectively.
  • Odd minor versions (starting with 1.9) are for development releases in preparation of an even minor number.

Do It

  • Check out the branch:
    $ svn co https://svn.timesinks.net/branches/confman-1.9
    
  • Set the version number in configure.ac:
    AC_INIT([confman], [1.9.0b], [confman-users@timesinks.net])
    
  • Let autotools do its thing
    autoreconf -i
    
  • Run ./configure to build a Makefile (the arguments don't matter)
    ./configure
    
  • Build a tarball
    make dist
    
  • Test the tarball
    tar xzf confman-1.9.0b.tar.gz
    cd confman-1.9.0b
    ./configure --prefix=/usr/local --mandir=/usr/local/man
    make
    sudo make install
    
  • Tag the release
    cd ..
    svn copy . https://svn.timesinks.net/confman/tags/confman-1.9.0b
    
  • Generate the md5sum and sha1sums
    md5 confman-1.9.0b.tar.gz
    sha1 confman-1.9.0b.tar.gz
    
  • Post the release on Releases