do-release-commit-and-tag: support VPATH builds
[gnulib.git] / top / README-release
index d6e032a..e9804b0 100644 (file)
@@ -1,6 +1,6 @@
 Here are most of the steps we (maintainers) follow when making a release.
 
-* start from a clean, up-to-date git directory.
+* Start from a clean, up-to-date git directory on "master":
 
     make -k maintainer-clean || { ./configure && make maintainer-clean; }
     git checkout master
@@ -10,26 +10,37 @@ Here are most of the steps we (maintainers) follow when making a release.
   are in your PATH.  See the buildreq list in bootstrap.conf for
   the complete list of tools.
 
-* Ensure that you're on "master" with no uncommitted diffs.
-  This should produce no output: git checkout master; git diff
+* Ensure that you have no uncommitted diffs.  This should produce no
+  output:
 
-* Ensure that you've pushed all changes that belong in the release
-  and that the NixOS/Hydra autobuilder is reporting all is well:
+    git diff
+
+* Ensure that you've pushed all changes that belong in the release:
+
+    git push origin master
+
+* Check that the NixOS/Hydra autobuilder is reporting all is well:
 
     http://hydra.nixos.org/jobset/gnu/@PACKAGE@-master
 
-* Run "./bootstrap && ./configure".  This downloads any new translations.
+* Run the following command to download any new translations:
 
-* Pre-release testing:
-  Ensure that "make check syntax-check" succeeds.
+    ./bootstrap && ./configure
 
-* Run "make distcheck"
+* Pre-release testing: ensure that the following command succeeds:
 
-* Set the date, version number, and release type [stable/alpha/beta] on
-  line 3 of NEWS, commit that, and tag the release by running e.g.,
+    make check syntax-check distcheck
+
+* From top_srcdir, run:
 
     build-aux/do-release-commit-and-tag X.Y stable
 
+  in order to (i) set the date, version number, and release type
+  [stable/alpha/beta] on line 3 of NEWS, (ii) commit that, and (iii) tag the
+  release.  See --help if you need options such as:
+
+    build-aux/do-release-commit-and-tag --branch=maint -C _build X.Y.Z stable
+
 * Run the following to create release tarballs.  Your choice selects the
   corresponding upload-to destination in the emitted gnupload command.
   The different destinations are specified in cfg.mk.  See the definitions
@@ -47,7 +58,7 @@ Here are most of the steps we (maintainers) follow when making a release.
 
 Once all the builds and tests have passed,
 
-* Run the gnupload command that was suggested by your "make stable" run above.
+* Run the gnupload command that was suggested by your "make TYPE" run above.
 
 * Wait a few minutes (maybe up to 30?) and then use the release URLs to
   download all tarball/signature pairs and use gpg --verify to ensure
@@ -58,12 +69,12 @@ Once all the builds and tests have passed,
     v=$(cat .prev-version)
     git push origin master tag v$v
 
-* Announce it on Savannah first, so you can include the preferable
-  savannah.org announcement link in the email message.
+* Announce it on Savannah first, so you can include the savannah.org
+  announcement link in the email message.
 
   From here:
     https://savannah.gnu.org/projects/@PACKAGE@/
-  click on the "submit news", then write something like the following:
+  click on "submit news", then write something like the following:
   (If there is no such button, then enable "News" for the project via
    the Main -> "Select Features" menu item, or via this link:
    https://savannah.gnu.org/project/admin/editgroupfeatures.php?group=@PACKAGE@)