Notes for the GnuPG maintainer (SVN 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 * 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 "Released " line into the top level ChangeLog. * Commit all changes to the SVN. * Update the SVN then (to sync the release number of all files). * 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 tag the release. Use "svn info" to get the current URL and use an svn cp command similar to "svn cp svn+ssh://host/gnupg/trunk svn+ssh://host/gnupg/tags/gnupg-2.n.m" (for 1.4 you should see "branches/STABLE-BRANCH-1-4" instead of "trunk", however tags are all below tags). * 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.