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