DoingARelease

How to do a release

 * Edit awesomeConfig.cmake and choose a codename that is not already listed in Releases. jd always picked a song title, you should do the same.
 * Commit this changes to awesomeConfig.cmake
 * Add the release version and date to Releases
 * Change the version in Template:Stable-version
 * Git sign with git tag -s vX.Y.Z -m 'awesome vX.Y.Z'
 * Push with git push and push tag with git push origin vX.Y.Z
 * Run make dist to create tarballs.
 * Copy tarballs inside awesome.naquadah.org:/var/www/awesome.naquadah.org/download/
 * Edit download.mdwn from the awesome www repository to change the version information, links, etc
 * Go into the 'src' submodule, and update it to vX.Y.Z with git checkout vX.Y.Z. This will be used to build and publish the documentation online.
 * Commit download.mdwn and src.
 * git push this
 * Type make push in awesome-www to push changes to the website. Be careful to have ikiwiki, asciidoc and imagemagick for Perl (perlmagick, otherwise images get broken)
 * Send a mail to awesome@naquadah.org and awesome-devel@naquadah.org with any amount of information and jokes inside.
 * Change the topic on IRC
 * Change the version in the bug tracking system

For the announcement mail, the following shell script might be handy:

VER=$1 PREV_VER=$2 TAG="v$VER" PTAG="v$PREV_VER" REVS="$PTAG..$TAG" echo "awesome version $VER has been released. It is available from:" print_file {        EXT="$1" URL="http://awesome.naquadah.org/download/awesome-$VER.$EXT" FILE="/var/www/awesome.naquadah.org/download/awesome-$VER.$EXT" MD5=$(ssh prometheus.naquadah.org "md5sum $FILE" 2>/dev/null | cut -f1 -d ' ') SHA1=$(ssh prometheus.naquadah.org "sha1sum $FILE" 2>/dev/null | cut -f 1 -d ' ') echo echo "$EXT: $URL" echo "md5: $MD5" echo "sha1: $SHA1" } print_headline {        HEAD="$@" echo echo "$HEAD" echo "$HEAD" | sed -e 's/./-/g' } print_file "tar.xz" print_file "tar.bz2" print_headline "number of changes" git rev-list "$REVS" | wc -l print_headline "number of commiters" git log --format=format:%an "$REVS" | sort -u | wc -l print_headline "shortlog" git log "$REVS" | git shortlog --numbered | cat print_headline "diffstat" git diff --stat "$REVS" | cat
 * 1) !/bin/sh