            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 master:
      make -C doc update-source-from-gnupg-2

  * [1.4 and 2.0] Copy needed texinfo files from master:
      make -C doc update-source

  * Run:
      make -C po update-po

  * Write NEWS entries and set the release date in NEWS.

  * [1.4 and 2.0] In configure.ac set "my_isgit" to "no".

  * Commit all changes to GIT with a message of "Release n.m.o."

  * Tag the revision with the string "gnupg-x.y.z".

  * Run "./autogen.sh --force"
    (--force is required for the git 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.

  * Push the git changes and the tag.

  * 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_isgit" 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.
