Update version number on development (aka HEAD) branch.
[deliverable/binutils-gdb.git] / binutils / README-how-to-make-a-release
index d378c2c01995ad8fd82bf97995015fd83789a0fb..597347d3274f621016a223ad6a5d629462a7512b 100644 (file)
@@ -31,7 +31,6 @@ How to perform a release.
        [If using the make-prerelease.sh script, check that
         common.sh has the right values].
        [make-prelease.sh command i]
-       [make-prelease.sh command C]
      Likewise for all of the ChangeLog files.
      Add a note of the name of the new branch to binutils/BRANCHES.
      Commit these changes.
@@ -134,16 +133,113 @@ How to perform a release.
 When the time comes to actually make the release....
 
 
-  20. Update the release number in bfd/version.m4 on the release
+  20. Make sure that the branch sources still build, test and install 
+      correctly.
+
+  21. Update the release number in bfd/version.m4 on the release
       branch to a whole new minor version number, without a point
       value.  Eg "2.29.90" becomes "2.30".  Change bfd/development.sh
-      to set the value to "false".
-   
+      to set the value to "false".  Regenerate the configure and
+      makefiles.  Add changelog entries for the updates and add a
+      "this-is-the-2.XX-release" commit and commit.  Make sure to
+      include the .gmo files.
+
+  22. Check that your file creation mask will create the
+      correct file permissions.  Eg:
+
+           umask 022
+
+  23. Create the release tarballs:
+  
+            ./src-release -b -g -l -x binutils
+
+  24. Check that the files in the tarballs have the correct
+      permissions.  FIXME: The tarballs will contain spurious
+      autom4te.cache directories which could be removed to reduce
+      their size.
+
+  25. Sanity check the release on x86_64-pc-linux-gnu by building and
+      running the testsuite.  Make the source directory read-only
+      before building.  Also test "make install".  If necessary fix
+      any problems.
+
+  26. Tag the branch with the new release number:
+
+            git tag -a binutils-2_XX
+             [optional: add "-u XXXXX" to sign with a gpg key]
+           git push origin binutils-2_XX
+
+        NB/ If you do sign the binaries make sure to use a key
+       that has been published with the FSF.
+
+  27. Clean up the source tree.  (Use "git status" to find new
+      files, and remove them).
+
+  28. Edit bfd/development.sh on the branch and set
+      "development=true".  Also bump the version by adding a trailing 
+      .0, so that the date suffix keeps the version lower than the
+      trunk version.  Regenerate files.  Commit these changes.
+
+  29. Upload the tarballs to ftp.gnu.org.
+
+       gnupload --to ftp.gnu.org:binutils binutils-X.XX.tar.*
+
+      The gnupload script is in the gnulib/build-aux directory.
+
+      Check for an email response from the upload.  If necessary
+      fix any problems.
+
+  30. Upload the tarballs (and signatures) to sourceware.org:
+
+       sftp sourceware.org
+         cd /sourceware/ftp/pub/binutils/releases
+        put binutils-X.XX.tar.*
+        chmod 644 binutils-X.XX.tar.*
+        quit
+
+      FIXME: Should the signatures (created by the gnupload script in
+      step 29) be uploaded as well ?
+
+  31. Update web pages.  For sourceware.org:
+
+      Create a new documentation folder on the sourceware.org web
+      pages as /sourceware/www/sourceware/htdocs/binutils/docs-X.XX.
+      Make the html documentation locally with the "make html" command
+      and then upload and rename the directories as needed.  Create an
+      index.html file and then edit the docs link to point to the new
+      docs-X.XX directory.
+      
+      Update the sourceware.org site to point to the new documentation
+      and  mention the new version.  
+
+      For the www.gnu.org site you have to email webmasters@gnu.org
+      and ask them to make the change(s).
+
+  32. Send emails to binutils@sourceware.org, info-gnu@gnu.org and
+      David Edelsohn <dje.gcc@gmail.com> announcing the new release.
+      Sign the email and include the checksum.
+      (The email to Davis is so that he can update the GNU Toolchain
+      social media).  Something like this:
+      ------------------------------------------------------------------------
+        Hi Everyone,
+
+        We are pleased to announce that version 2.XX of the Binutils project
+        sources have been released and are now available for download at:
+
+          https://ftp.gnu.org/gnu/binutils
+          https://sourceware.org/pub/binutils/releases/
+
+          checksums: xxxx
 
-xxx -- fill in stuff here -- xxx
+       This release contains numerous bug fixes, and also the
+       following new features:
 
+          <extract info from the NEWS files>
 
+       Our thanks go out to all of the binutils contributors, past and
+       present, for helping to make this release possible.
 
+      --------------------------------------------------------------------------
 
 -------------------------------------------------
 How to perform a point release.
This page took 0.025302 seconds and 4 git commands to generate.