c317f7c3331b318c280bb090a4a17c89ce4a2490
[gnupg.git] / README.maint
1             Notes for the GnuPG maintainer  (GIT 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
23   * Decide whether you want to update the automake standard files
24     (Mainly config.guess and config.sub).
25
26   * [1.4 only] Update gpg.texi and gpgv.texi from master:
27       make -C doc update-source-from-gnupg-2
28
29   * [1.4 and 2.0] Copy needed texinfo files from master:
30       make -C doc update-source
31
32   * Run:
33       make -C po update-po
34
35   * Write NEWS entries and set the release date in NEWS.
36
37   * In configure.ac set "my_isgit" to "no".
38
39   * Commit all changes to GIT with a message of "Release n.m.o."
40
41   * Run "./autogen.sh --force"
42     (--force is required for the svn magic in configure.ac and a good
43     idea in any case)
44
45   * Run "configure --enable-maintainer-mode".
46
47   * Run "make distcheck".
48
49   * Build and test the new tarball (best on a different machine).
50
51   * Build and test the W32 version.
52
53   * [2.x only] Using the final test build run a "make -C doc online".
54
55   * Sign the tarball
56
57   * Get the previous tarball and run "mkdiff gnupg".
58     You might need to set a different signature key than mine.  mkdiff
59     has an option for this.
60
61   * If you are satisfied with the result commit a tag for the release
62     and push the changes.
63
64   * Copy the files to the FTP server
65
66   * Update the webpages - at least the file swdb.wml needs an update.
67
68   * Add a new headline to NEWS.
69
70   * Bump "my_version" up and set "my_isgit" back to "yes" in configure.ac
71
72   * Write an announcement.
73
74   * Update https://savannah.gnu.org/projects/gnupg .
75
76
77
78 Gotchas
79 =======
80
81 - If during "make distcheck" you get an error about a permission
82   problem moving foo.new.po to foo.po; this is caused by a check
83   whether the po files can be re-created.  Now if the first tarball
84   has been created in a different top directory and if there exists a
85   no distributed file with the string "GNU gnupg" (e.g. a log file
86   from running make) you end up with different comments in the po
87   files.  Check out /usr/lib/gettext/project-id for that silliness.
88   As a hack we added this string into configure.ac.