Init cache encryption on the fly.
[gnupg.git] / README.maint
1             Notes for the GnuPG maintainer  (SVN only)
2            ============================================
3
4 Here are some notes on how to maintain GnuPG.
5
6 Release Planning:
7 =================
8
9 If you are planning a new release and strings have changed you should
10 send a notification to all translators, so that they have time to
11 update their translations.  scripts/mail-to-translators is useful for
12 this.  It might need some tweaking and it needs to be armored for
13 actual sending.  Running it as is to see what will happen is a good
14 idea, though.
15
16
17
18 Release process:
19 ================
20
21   * Make sure that all new PO files are checked in.
22   * Decide whether you want to update the automake standard files 
23     (Mainly config.guess and config.sub).
24   * [1.4 only] Update gpg.texi and gpgv.texi from the trunk:
25        make -C doc update-source-from-gnupg-2
26   * [1.4 and 2.0] Copy needed texinfo files from trunk.
27   * Run "make -C po update-po".
28   * Write NEWS entries and set the release date in NEWS.
29   * In configure.ac set "my_issvn" to "no".
30   * Put a "Release <version>" line into the top level ChangeLog.
31   * Commit all changes to the SVN.
32   * Update the SVN then (to sync the release number of all files).
33   * Run "./autogen.sh --force"
34     (--force is required for the svn magic in configure.ac and a good
35     idea in any case)
36   * Run "configure --enable-maintainer-mode".
37   * Run "make distcheck".
38   * Build and test the new tarball (best on a different machine).
39   * Build and test the W32 version.
40   * [2.x only] Using the final test build run a "make -C doc online".
41   * Sign the tarball
42   * Get the previous tarball and run "mkdiff gnupg".  
43     You might need to set a different signature key than mine.  mkdiff
44     has an option for this.
45   * If you are satisfied with the result tag the release.  Use "svn
46     info" to get the current URL and use an svn cp command similar to
47     "svn cp svn+ssh://host/gnupg/trunk  svn+ssh://host/gnupg/tags/gnupg-2.n.m"
48     (for 1.4 you should see "branches/STABLE-BRANCH-1-4" instead of "trunk",
49      however tags are all below tags).
50   * Copy the files to the FTP server
51   * Update the webpages - at least the file swdb.wml needs an update.
52   * Add a new headline to NEWS.
53   * Bump "my_version" up and set "my_issvn" back to "yes" in configure.ac 
54   * Write an announcement.  Update https://savannah.gnu.org/projects/gnupg .
55
56
57
58 Gotchas
59 =======
60
61 - If during "make distcheck" you get an error about a permission
62   problem moving foo.new.po to foo.po; this is caused by a check
63   whether the po files can be re-created.  Now if the first tarball
64   has been created in a different top directory and if there exists a
65   no distributed file with the string "GNU gnupg" (e.g. a log file
66   from running make) you end up with different comments in the po
67   files.  Check out /usr/lib/gettext/project-id for that silliness.
68   As a hack we added this string into configure.ac.
69
70
71
72