Title:   How To Make A Release
Status:  Current 
Created: 2003-10-14
Revised: 2003-03-30

How to make a release
---------------------

* Check if samples are all working and consistent with the current state of the
  code.

* From the top level checkout dir run gnue-common/utils/update-tool-docs
  to rebuild the man pages and dtd files

* Read all documentation and check if is consistent with the current state of
  the code (this includes doc/, AUTHORS, BUGS, FAQ, INSTALL, README, ROADMAP,
  THANKS and TODO).

* Check if setup.py needs to be updated because of changes since the last
  release (files added, files removed, ...).

* Commit everything to subversion.

* Create the tarballs for the prerelease:
  "GNUE_VERSION_SUFFIX=-pre1 ./setup.py sdist --format='gztar,zip'"

* Post the prerelease to the web:
  "scp dist/* $LOGNAME@www.gnuenterprise.org:/var/www/downloads/prereleases"

* Test installing the prerelease from tarball on different systems.

* Let the packagers test packaging of the prerelease.

* Update the NEWS file.

* In src/__init__.py, set _release to 1.

* Commit everything to subversion, with a message that says "Released x.x.x".

* Create the tarballs for the release:
  "setup.py sdist --format='gztar,zip'"

* Tag subversion.
  "svn copy svn+ssh://svn.gnuenterprise.org/var/svn/gnue/trunk/gnue-<package> svn+ssh://svn.gnuenterprise.org/var/svn/gnue/tags/<package>-x-x-x-release"

* Post the release to the web and remove the prerelease:
  "scp dist/* $LOGNAME@www.gnuenterprise.org:/var/www/downloads/releases"
  on www.gnuenterprise.org:
  ln -s /var/www/downloads/releases/<filename>.* /var/www/downloads/current
  rm -f /var/www/downloads/prereleases/<filename>.*

* Post documentation to the website using the "postweb" script

* In src/__init__.py, set _version to the next version number, and _release to
  0.

* Commit everything to subversion.
