fbc9877e14affe8f8f6723f9c5b45e22689daf69
[mmh] / docs / README.releasing
1 #
2 # README.releasing
3 #
4
5 -------------
6 releasing mmh
7 -------------
8
9 To make a public release of mmh (we'll use version 1.0 as example
10 here):
11
12  1. % echo 1.0 > VERSION
13     % date +"%Y-%m-%d" > DATE
14     % vi NEWS
15
16  2. % git commit VERSION DATE NEWS
17
18  3. % make mmhdist
19
20  4. Untar mmh-1.0.tar.gz and `diff -r' it vs. your workspace. Make
21     sure no files got left out of the distribution that should be in
22     it (due to someone forgetting to update the DIST variables in the
23     Makefiles).
24
25  5. If you have root access on your machine, it's good at this point
26     to do:
27
28     % chown -R 0:0 mmh-1.0
29     % tar cvf - mmh-1.0 | gzip -c > mmh-1.0.tar.gz
30
31     If you leave the files in the archive as being owned by yourself,
32     your UID may coincide with one of a user on a machine where mmh is
33     being installed, making it possible for that user to Trojan the mmh
34     code before the system administrator finishes installing it.
35
36  6. Make sure your new tarball uncompresses and untars with no problem.
37     Make sure you can configure, make, and install mmh from it.
38
39  7. If all is well and your tarball is final, go back to your workspace
40     and tag the release:
41
42     % git tag -a mmh-1.0 -m 'Releasing mmh-1.0'
43
44  8. Then bump the version number:
45
46     % echo 1.0+dev > VERSION
47
48  9. % git commit VERSION
49
50 10. Generate an MD5 hash and a PGP signature of the tarball:
51
52     % md5sum mmh-1.0.tar.gz > mmh-1.0.tar.gz.md5sum
53     % gpg -ab mmh-1.0.tar.gz
54
55     You can verify the hash and signature with:
56
57     % md5sum -c mmh-1.0.tar.gz.md5sum
58     % gpg --verify mmh-1.0.tar.gz.asc
59
60 11. Upload the files to the web space:
61
62     % scp -p mmh-1.0.tar.gz* marmaro.de:.../prog/mmh/
63
64 12. Update the <http://marmaro.de/prog/mmh/> homepage.
65
66 13. Add a news item to relevant websites.
67
68 14. Send the release announcement email to the following places:
69     <mmh@marmaro.de>
70     <nmh-workers@nongnu.org>
71     <nmh-announce@nongnu.org>
72     <mh-users@ics.uci.edu> *or* <comp.mail.mh> (bidirectional gateway)
73
74     If the release fixes significant security holes, also send an
75     announcement to <bugtraq@securityfocus.com>.
76
77     Preferably, the announcement should contain:
78     - the URL for the tarball
79     - the MD5 hash
80     - the URL of the website
81     - a brief summary of visible changes
82     - the URL of the git diff page that shows a detailed list of
83       changes. The changes between 0.9 and 1.0 would be shown by:
84       <http://git.marmaro.de/?p=mmh;a=commitdiff;hp=mmh-0.9;h=mmh-1.0>
85
86     Further more, the message should be PGP-signed.