- Notes for the GnuPG maintainer (SVN only)
+ Notes for the GnuPG maintainer (GIT only)
============================================
Here are some notes on how to maintain GnuPG.
================
* Make sure that all new PO files are checked in.
- * Decide whether you want to update the automake standard files
+
+ * 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.
- * Run "make -C po update-po".
+
+ * [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.
- * In configure.ac set "my_issvn" to "no".
- * Commit all changes to the SVN.
- * Update the SVN then (to sync the release number of all files).
+
+ * Commit all changes to GIT with a message of "Release n.m.o."
+
+ * Create a signed tag with the name "gnupg-x.y.z".
+
* Run "./autogen.sh --force"
- (--force is required for the svn magic in configure.ac and a good
+ (--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".
+
+ * 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).
+
+ * 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.
+
+ * Update the webpages - at least the file swdb.mac needs an update.
+
* Add a new headline to NEWS.
- * Bump "my_version" up and set "my_issvn" back to "yes" in configure.ac
+
+ * Bump the version number in configure.ac up, add an empty NEWS
+ entry, commit, and push that.
+
* 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.