summaryrefslogtreecommitdiffstats
path: root/README.maint
blob: f390afc9728732776f3881a2228b0e1031750dfd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
            Notes for the GnuPG maintainer  (GIT only)
           ============================================

Here are some notes on how to maintain GnuPG.

Release Planning:
=================

If you are planning a new release and strings have changed you should
send a notification to all translators, so that they have time to
update their translations.  scripts/mail-to-translators is useful for
this.  It might need some tweaking and it needs to be armored for
actual sending.  Running it as is to see what will happen is a good
idea, though.



Release process:
================

  * Make sure that all new PO files are checked in.
  * Decide whether you want to update the automake standard files
    (Mainly config.guess and config.sub).
  * [1.4 only] Update gpg.texi and gpgv.texi from the trunk:
       make -C doc update-source-from-gnupg-2
  * [1.4 and 2.0] Copy needed texinfo files from trunk.
  * Run "make -C po update-po".
  * Write NEWS entries and set the release date in NEWS.
  * In configure.ac set "my_issvn" to "no".
  * Put a "Release <version>" line into the top level ChangeLog.
  * Commit all changes to GIT and push them.
  * Run "./autogen.sh --force"
    (--force is required for the svn magic in configure.ac and a good
    idea in any case)
  * Run "configure --enable-maintainer-mode".
  * Run "make distcheck".
  * Build and test the new tarball (best on a different machine).
  * Build and test the W32 version.
  * [2.x only] Using the final test build run a "make -C doc online".
  * Sign the tarball
  * Get the previous tarball and run "mkdiff gnupg".
    You might need to set a different signature key than mine.  mkdiff
    has an option for this.
  * If you are satisfied with the result commit a tag for the release.
  * Copy the files to the FTP server
  * Update the webpages - at least the file swdb.wml needs an update.
  * Add a new headline to NEWS.
  * Bump "my_version" up and set "my_issvn" back to "yes" in configure.ac
  * Write an announcement.  Update https://savannah.gnu.org/projects/gnupg .



Gotchas
=======

- If during "make distcheck" you get an error about a permission
  problem moving foo.new.po to foo.po; this is caused by a check
  whether the po files can be re-created.  Now if the first tarball
  has been created in a different top directory and if there exists a
  no distributed file with the string "GNU gnupg" (e.g. a log file
  from running make) you end up with different comments in the po
  files.  Check out /usr/lib/gettext/project-id for that silliness.
  As a hack we added this string into configure.ac.