Initial Commit
[packages] / xemacs-packages / mailcrypt / README.dev
1 Developers' Notes:
2
3 I've added the beginnings of a unit test framework to MailCrypt. The only
4 thing tested so far is GPG decryption. The armored keyrings and test cases
5 are packaged as part of the distribution tarball, where a 'make check' can
6 unpack them and then use them to run the tests. There are two keyrings: a
7 full set (used to create the test cases), and an 'exported' set which has
8 some of the secret keys removed (to test what happens when you try to
9 decrypt a message that isn't addressed to you).
10
11 To build MailCrypt from CVS:
12
13 You will need GNU autoconf. The following sequence will create the
14 distribution tarball.
15
16    autoconf
17    ./configure
18    make dist
19
20 To rebuild the unit test keyrings and test cases:
21
22 Do the following to create the keys:
23
24  ./configure
25  cd tests/gpg-keys
26   make new-rings
27    (now manually sign the appropriate keys following the hints emitted by
28     the script.. this part hasn't been automated yet)
29   make exported
30   make pack
31    (creates allrings.txt, the armored keyring file. This file is checked into
32     CVS)
33  cd ../..
34
35 The test cases are regenerated as part of the development anytime the keys
36 are changed or the testcase generator script is modified. To rebuild them,
37 you will need the Python GnuPGInterface module, available at
38 <http://sourceforge.net/projects/py-gnupg/>. After installing it, do the
39 following:
40
41  cd tests
42  make gpg-testcases
43   (this unpacks allrings.txt, then runs a program which creates the GPG test
44    cases in gpg-testcases/* . These test cases are also checked into CVS)
45  cd ..
46
47
48 Making a new release. This is my checklist for making a new official release.
49
50  During development:
51
52   ChangeLog gets updated for each CVS checkin.
53   NEWS gets updated with all changes since last release.
54
55  At release time:
56   build and test, get reports from beta testers, decide to make release
57   mailcrypt.el: bump mc-version
58   mailcrypt.texi: bump VERSION
59   ANNOUNCE gets updated with latest news.
60   Changelog gets note: '* mailcrypt: Release mailcrypt-N.N.N'
61   commit all docs changes
62   cvs tag release-N_N_N
63   make dist
64   copy resulting mailcrypt-N-N-N.tar.gz to tmp dir
65   sign .tar.gz, put in tmp dir
66   take latest portion of NEWS to use as sourceforge Release Notes file, tmpdir
67   take ChangeLog since last release for as sourceforge Changelog file, tmpdir
68   update .lsm file
69
70   upload .tar.gz, .sig, release notes, changelog to sourceforge download area
71   update http://mailcrypt.sourceforge.net
72    (update 'site' module, login to mailcrypt.sourceforge.net,
73     go to /home/groups/m/ma/mailcrypt/htdocs/ and do a cvs update)
74   announce on sourceforge news
75   announce on mailcrypt-announce@lists.sourceforge.net
76   announce on freshmeat
77   upload to sunsite? (now ibiblio.org)
78