masqmail

annotate docs/howto-release @ 323:29de6a1c4538

Fixed an important bug with folded headers! g_strconcat() returns a *copy* of the string, but hdr->value still pointed to the old header (which probably was a memory leak, too). If the folded part had been quite small it was likely that the new string was at the same position as the old one, thus making everything go well. But if pretty long headers were folded several times it was likely that the new string was allocated somewhere else in memory, thus breaking things. In result mails to lots of recipients (folded header) were frequently only sent to the ones in the first line. Sorry for the inconvenience.
author meillo@marmaro.de
date Fri, 03 Jun 2011 09:47:27 +0200
parents
children 2c3242a360f0
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@297 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. :-)