Release guide

Jump to: navigation, search
  • Create a new branch for the release
  • svn copy amsn from trunk to branch directory
  • Update credits in README, in case someone is missing (in branch)
  • Update Changelog/TODO file (and maybe Wiki too) (in branch)
  • Update $version, $date, $rcversion variables at the beginning of "amsn" file. (in branch)
  • Inside, update APPSTABLE from no to yes and change version. (in branch)
  • Edit autopackage version
  • Do an autoreconf (in branch)
  • Make sure the binaries for TkCximage? and Webcamsn, for Windows (DLL) and Mac OS X (.dylib) are updated (in branch)
  • Commit all changes to the branch
  • Make sure language maintainers had a one week notice to translate everyhing and tell them the official deadline.
  • Make sure all pending languages are processed.
  • Create a tag directory for the version
  • svn copy amsn from branch to tag directory
  • Do a: svn export to have a clean copy of the SVN (without .svn/ folders or extra files)
  • Add shipped skins (at the moment, default one, and Dark Matter 4 and Oxygen) from amsn-extras to skins/.
  • Test everything runs fine
  • Tar-gzip the msn/ folder, removing any unnecessary extras. (Shouldn't be any). As some kind of "standard" in the gnu world, if the tar.gz is amsn-0.98.tar.gz, the folder inside must be called amsn-0.98.
  • Ask packagers to create amsn packages:
  • Upload file to Sourceforge file release system (FRS):
  • Add a new file release in the SourceForge File Release System
  • Wait for Sourceforge mirrors to get synced
  • Edit download links in trunk/www, 3 links in download.php, 1 in index.php and 6 in linux-downloads.php.
  • Add a piece of news to the website.
  • Update "amsn_latest" file in trunk/www to reflect the new version
  • Update the IRC channel topic and the bot's response for 'amsn version' ('amsn download' and 'amsn release' are both '<reply> see version' so they'll be updated at the same time.
  • Add some news to SF news, freshmeat, slashdot, The Times...
  • Update information on wikipedia

Official packagers

Mac OS X package : Youness Alaoui

Windows installer, by NSIS: Phil

Unofficial packagers

Gentoo Ebuild: Olivier Crête

Fedora Core Package Sander Hoentjen

Debian package, official Debian Sid packager: Søren Boll Overgaard <bilbo at>

NoTes from Phil for packaging


I improved the distribution system : I added the support for deb files

Now to create packages you can do :

"make deb" for dpkg system

"make rpm" for rpm system

In addition I modified the version system in the autoconf script :

We have 4 fields at the beginning :

APPNAME which wasn't change and is always amsn (because amsn is always amsn :p)

APPVERSION which is now 0.95 and not 0.95cvs

APPRELEASE which is 1 but is ignored for the moment


It switches between two version system : the unstable which set versions as 0.95cvs-yyyymmdd (taken from cvs_date) and the stable one : 0.95-n where n is the release.

So before the release we have to change APPSTABLE to yes and redid autoconf (should be automatic when doing make).

All of ways when you will generate a package you will see the bad filename but it's always better to change it before : it avoids to do the job twice :p


P.S. Before the release, we should check the binaries for Windows, especially TkCxImage since I modified a little the code after the last DLL committing.

Arieh, can you complie with the last source before releasing the 0.95 ??

Personal tools