meillo@297: How to do a masqmail release meillo@297: ============================ meillo@297: meillo 2010-12-09 meillo@297: meillo@297: meillo@297: This document helps me to not forget any steps and to document how I meillo@297: did it for any new maintainer who might come after me. This document meillo@297: was inspired by docs/README.developers of the nmh project. meillo@297: meillo@297: meillo@297: (1) Be sure that the current state of the project is ready to meillo@297: release. Test if it compiles. Test if it works (this should be done meillo@297: automatically with a better test suite). meillo@297: meillo@297: (2) Update ChangeLog and NEWS based on the VCS log. Don't forget to meillo@297: update the time of the ChangeLog entry. Check if contributions from meillo@297: others are acknowledged adequately (ChangeLog, THANKS). meillo@297: meillo@297: (3) Remove the -dev suffix from the version number in configure.ac. Run meillo@297: autoconf afterwards to transfer the change to the configure script. Build meillo@297: masqmail and run it with -bV to check the version. meillo@297: meillo@297: (4) Run devel/list-versions and devel/update-manpage-date afterwards to meillo@297: have the right version and date in the man pages. meillo@297: meillo@297: (5) Is everything checked in? meillo@297: meillo@297: (6) Run `make distclean', check for remaining files (just in case). `hg meillo@297: st' is helpful. Build anew: `./configure ... && make && sudo make meillo@334: install'. Check if everything went well. If so, `make distclean' again. meillo@297: meillo@297: meillo@297: Now we should be ready to release. meillo@297: meillo@297: meillo@297: (7) Run `devel/gen-release ../masqmail-0.x.y.tar.gz'. An md5sum will meillo@297: be generated automatically and a detached gpg signature will be created meillo@297: (this requires gnupg with a secret key). meillo@297: meillo@297: (8) Unpack the generated tarball and examine its contents (-t or meillo@297: -xv). Build masqmail anew from the tarball, see (6). meillo@297: meillo@297: (9) Check the md5sum and the signature. meillo@297: meillo@297: meillo@297: Let's release. meillo@297: meillo@297: meillo@297: (10) Upload the tarball, the md5sum and the signature to the website. meillo@297: meillo@297: (11) Write a release announcement to the mailing list. Preferably, the meillo@297: announcement should contain the MD5 hash generated above, and should be meillo@297: PGP-signed. It should include the URL for the tarball as well as the URL meillo@297: of the website. It should contain a brief summary of visible changes, as meillo@297: well as the URL of the webpage that would show a detailed list of changes. meillo@297: meillo@297: (12) Submit a release info to freshmeat.net. meillo@297: meillo@297: (13) Add a version tag to the VCS. meillo@297: meillo@297: (14) Change the version number in configure.ac: Increment it and add meillo@297: -dev to it. Run autoconf afterwards to propagate the change. meillo@297: meillo@297: meillo@297: Done. meillo@297: meillo@297: meillo@297: Enjoy the day. :-)