NEWS.stable: log cherry-pick [e446f25]->[c092018] relocatable-shell: Update suggested...
[gnulib.git] / top / README-release
index d9f86b1..17f026a 100644 (file)
@@ -1,42 +1,48 @@
 Here are most of the steps we (maintainers) follow when making a release.
 
 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
     git pull origin master
 
 
     make -k maintainer-clean || { ./configure && make maintainer-clean; }
     git checkout master
     git pull origin master
 
-* Ensure that the desired versions of autoconf, automake, etc.
+* Ensure that the latest stable versions of autoconf, automake, etc.
   are in your PATH.  See the buildreq list in bootstrap.conf for
   are in your PATH.  See the buildreq list in bootstrap.conf for
-  the complete list.
+  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
 
 
     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
 
 
-    build-aux/do-release-commit-and-tag X.Y stable
+* To (i) set the date, version number, and release TYPE on line 3 of
+  NEWS, (ii) commit that, and (iii) tag the release, run
+
+    # "TYPE" must be stable, beta or alpha
+    make release-commit RELEASE='X.Y TYPE'
 
 * 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
   of gnu_ftp_host-{alpha,beta,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
   of gnu_ftp_host-{alpha,beta,stable}.
 
-    # "TYPE" must be stable, beta or alpha
-    make TYPE
+    make release RELEASE='X.Y TYPE'
 
 * Test the tarball.  Copy it to a few odd-ball systems and ensure that
   it builds and passes all tests.
 
 * Test the tarball.  Copy it to a few odd-ball systems and ensure that
   it builds and passes all tests.
@@ -47,7 +53,10 @@ Here are most of the steps we (maintainers) follow when making a release.
 
 Once all the builds and tests have passed,
 
 
 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 release"
+  run above, or run
+
+    make upload RELEASE='X.Y TYPE'
 
 * 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
 
 * 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,15 +67,18 @@ Once all the builds and tests have passed,
     v=$(cat .prev-version)
     git push origin master tag v$v
 
     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:
-  (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@)
+  Go to the news-submission form:
+
+    https://savannah.gnu.org/news/submit.php?group=@PACKAGE@
+
+  If it does not work, then enable "News" for the project via this link:
+
+    https://savannah.gnu.org/project/admin/editgroupfeatures.php?group=@PACKAGE@
+
+  Write something like the following:
 
     Subject: @PACKAGE@-X.Y released [stable]
     +verbatim+
 
     Subject: @PACKAGE@-X.Y released [stable]
     +verbatim+
@@ -74,14 +86,15 @@ Once all the builds and tests have passed,
     -verbatim-
 
   Then go here to approve it:
     -verbatim-
 
   Then go here to approve it:
+
     https://savannah.gnu.org/news/approve.php?group=@PACKAGE@
 
 * Send the announcement email message.
 
     https://savannah.gnu.org/news/approve.php?group=@PACKAGE@
 
 * Send the announcement email message.
 
-* After each non-alpha release, update the on-line manual accessible via
+* After each non-alpha release, run
 
 
-    http://www.gnu.org/software/@PACKAGE@/manual/
+    make web-manual-update
 
 
-  by running this:
+  to update the on-line manual accessible at
 
 
-    build-aux/gnu-web-doc-update
+    http://www.gnu.org/software/@PACKAGE@/manual/