masqmail
annotate docs/howto-release @ 391:0ca270ca11fa
Refactoring and code layouting.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Sat, 18 Feb 2012 17:53:04 +0100 |
parents | b639e97feda3 |
children | f2a7271746d1 |
rev | line source |
---|---|
meillo@297 | 1 How to do a masqmail release |
meillo@297 | 2 ============================ |
meillo@297 | 3 meillo 2010-12-09 |
meillo@297 | 4 |
meillo@297 | 5 |
meillo@297 | 6 This document helps me to not forget any steps and to document how I |
meillo@297 | 7 did it for any new maintainer who might come after me. This document |
meillo@297 | 8 was inspired by docs/README.developers of the nmh project. |
meillo@297 | 9 |
meillo@297 | 10 |
meillo@297 | 11 (1) Be sure that the current state of the project is ready to |
meillo@297 | 12 release. Test if it compiles. Test if it works (this should be done |
meillo@297 | 13 automatically with a better test suite). |
meillo@297 | 14 |
meillo@297 | 15 (2) Update ChangeLog and NEWS based on the VCS log. Don't forget to |
meillo@297 | 16 update the time of the ChangeLog entry. Check if contributions from |
meillo@297 | 17 others are acknowledged adequately (ChangeLog, THANKS). |
meillo@297 | 18 |
meillo@297 | 19 (3) Remove the -dev suffix from the version number in configure.ac. Run |
meillo@297 | 20 autoconf afterwards to transfer the change to the configure script. Build |
meillo@297 | 21 masqmail and run it with -bV to check the version. |
meillo@297 | 22 |
meillo@297 | 23 (4) Run devel/list-versions and devel/update-manpage-date afterwards to |
meillo@297 | 24 have the right version and date in the man pages. |
meillo@297 | 25 |
meillo@297 | 26 (5) Is everything checked in? |
meillo@297 | 27 |
meillo@297 | 28 (6) Run `make distclean', check for remaining files (just in case). `hg |
meillo@297 | 29 st' is helpful. Build anew: `./configure ... && make && sudo make |
meillo@334 | 30 install'. Check if everything went well. If so, `make distclean' again. |
meillo@297 | 31 |
meillo@297 | 32 |
meillo@297 | 33 Now we should be ready to release. |
meillo@297 | 34 |
meillo@297 | 35 |
meillo@297 | 36 (7) Run `devel/gen-release ../masqmail-0.x.y.tar.gz'. An md5sum will |
meillo@297 | 37 be generated automatically and a detached gpg signature will be created |
meillo@297 | 38 (this requires gnupg with a secret key). |
meillo@297 | 39 |
meillo@297 | 40 (8) Unpack the generated tarball and examine its contents (-t or |
meillo@297 | 41 -xv). Build masqmail anew from the tarball, see (6). |
meillo@297 | 42 |
meillo@297 | 43 (9) Check the md5sum and the signature. |
meillo@297 | 44 |
meillo@297 | 45 |
meillo@297 | 46 Let's release. |
meillo@297 | 47 |
meillo@297 | 48 |
meillo@297 | 49 (10) Upload the tarball, the md5sum and the signature to the website. |
meillo@297 | 50 |
meillo@297 | 51 (11) Write a release announcement to the mailing list. Preferably, the |
meillo@297 | 52 announcement should contain the MD5 hash generated above, and should be |
meillo@297 | 53 PGP-signed. It should include the URL for the tarball as well as the URL |
meillo@297 | 54 of the website. It should contain a brief summary of visible changes, as |
meillo@297 | 55 well as the URL of the webpage that would show a detailed list of changes. |
meillo@297 | 56 |
meillo@297 | 57 (12) Submit a release info to freshmeat.net. |
meillo@297 | 58 |
meillo@297 | 59 (13) Add a version tag to the VCS. |
meillo@297 | 60 |
meillo@297 | 61 (14) Change the version number in configure.ac: Increment it and add |
meillo@297 | 62 -dev to it. Run autoconf afterwards to propagate the change. |
meillo@297 | 63 |
meillo@297 | 64 |
meillo@297 | 65 Done. |
meillo@297 | 66 |
meillo@297 | 67 |
meillo@297 | 68 Enjoy the day. :-) |