+ git clone git://sourceware.org/git/binutils-gdb.git -b binutils-<NEW_VERSION>-branch <NEW_VERSION>
+
+ A snapshot of the sources is also available here:
+
+ https://sourceware.org/pub/binutils/snapshots/binutils-<OLD_VERSION>.90.tar.xz
+
+ Please could all patches for the branch be run by me.
+ The rules for the branch are:
+
+ * No new features.
+ * Target specific bug fixes are OK.
+ * Generic bug fixes are OK if they are important and widely tested.
+ * Documentation updates/fixes are OK.
+ * Translation updates are OK.
+ * Fixes for testsuite failures are OK.
+
+ Ideally I would like to make the release happen in two weeks time,
+ i.e. <DATE>. Which I hope will be enough time for everyone
+ to get their final fixes in.
+------------------------------------------------------------------------
+
+ 12. Build various different toolchains, test them and nag
+ maintainers to fix any testsuite failures for their
+ architectures...
+
+==============================================================================
+
+When the time comes to actually make the release....
+
+
+ 20. Make sure that the branch sources still build, test and install
+ correctly. Make sure that the sources are clean, without any
+ patch files (.reg .orig *~) left over.
+
+ cd <branch>
+ git clean -dfx .
+
+ 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.34.90" becomes "2.35". Change bfd/development.sh
+ to set all values to "false". Regenerate the configure and
+ makefiles. And *info* files. Add ChangeLog entries for the
+ updates and add a "this-is-the-2.3x-release" comment and
+ commit.
+
+ 22. Check that your file creation mask will create the
+ correct file permissions. Eg:
+
+ % umask
+ 22
+
+ Remove any spurious autom4te.cache files left over from the
+ reconfiguring:
+
+ git clean -fdx
+
+ 23. Note - check to see if any new files have been added to the top
+ level of the source directory, but which are not in the
+ DEVO_SUPPORT variable in the src-release.sh script. If they are
+ needed then add them.
+
+ Create the release tarballs:
+
+ ./src-release.sh -b -g -l -x binutils
+
+ 24. Check that the files in the tarballs have the correct
+ permissions. (FIXME: How to do this ?)
+
+ 25. Sanity check the release on x86_64-pc-linux-gnu by building and
+ running the testsuites (gas, gold, binutils and ld). Make the
+ source directory read-only before building. Also test
+ "make install". If necessary fix any problems.
+
+ cd /dev/shm
+ mkdir delme
+ cd delme
+ tar xvf <path-to-sources>/binutils-2.X.tar.xz
+ chmod -R -w binutils-2.X
+ mkdir build
+ cd build
+ ../binutils-2.X/configure --enable-gold --prefix=`pwd`/install
+ make all-gas all-gold all-ld all-binutils all-gprof
+ make check-gas check-binutils check-ld check-gold
+ make install-gas install-gold install-ld install-binutils
+
+ 26. Tag the branch with the new release number:
+
+ git tag -a binutils-2_3x
+ [optional: add "-u XXXXX" to sign with a gpg key]
+ enter a tag message such as: "Official Binutils 2.3x release"
+
+ NB/ If you do sign the binaries make sure to use a key
+ that has been published with the FSF.
+
+ Then push the release:
+
+ git push origin binutils-2_3x
+
+ If you get an error message along the lines of "Invalid revision range ..." you can ignore it.
+
+ 27. Upload the tarballs to ftp.gnu.org.
+
+ gnupload --to ftp.gnu.org:binutils binutils-2.3x.tar.*
+
+ The gnupload script is in the gnulib/build-aux directory.
+
+ Check for an email response from the upload. If necessary
+ fix any problems.
+
+ 28. Upload the tarballs (and signatures) to sourceware.org:
+
+ sftp sourceware.org
+ cd /sourceware/ftp/pub/binutils/releases
+ put binutils-2.3x.tar.*
+ chmod 644 binutils-2.3x.tar.*
+ quit
+
+ FIXME: Are the signatures (created by the gnupload script in step 27) needed ?
+ [The above commands upload them and nobody has complained, so suggest that they
+ are retained].
+
+ 29. Update web pages. For sourceware.org:
+
+ Create a new documentation folder on the sourceware.org web
+ pages as /sourceware/www/sourceware/htdocs/binutils/docs-2.3x.
+
+ sftp sourceware.org
+ cd /sourceware/www/sourceware/htdocs/binutils
+ mkdir docs-2.3x
+ cd docs-2.3x
+ mkdir as
+ mkdir bfd
+ mkdir binutils
+ mkdir gprof
+ mkdir ld
+ cd ../docs-2.3(x-1)
+ get index.html
+
+ Update the (local copy of the) index.html file to point to the
+ new documentation and mention the new version and then upload it.
+ [NB/ FIXME: Special for updating from 2.34 documentation - restore
+ the link to the GAS/NEWS which has been changed for 2.34 to a
+ specific commit rather than the branch tag].
+
+ cd ../docs-2.3x
+ put index.html
+
+ Make the html documentation locally with the "make html" command
+ and then upload and rename the directories as needed. (sftp
+ does not appear to support recursive uploads however, so the
+ directories had to be made by hand, as shown above).
+
+ cd as
+ lcd <build-dir>/gas/doc/as.html
+ put * {be patient - this takes a long time...}
+ cd ../bfd
+ lcd ../../../bfd/doc/bfd.html
+ put *
+ cd ../binutils
+ lcd ../../../binutils/doc/binutils.html
+ put *
+ cd ../gprof
+ lcd ../../../gprof/gprof.html
+ put *
+ cd ../ld
+ lcd ../../ld/ld.html
+ put *
+
+ Edit the top level binutils index.html file to change the links
+ to point to the new documentation.
+
+ cd ../../..
+ get index.html
+ [edit]
+ put index.html
+ rm docs
+ ln -s docs-2.3x docs
+ quit
+
+ Check that the new web page is correct.
+
+ For the www.gnu.org site you have to email webmasters@gnu.org
+ and ask them to make the change(s).
+
+ 30. 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:
+
+ md5sum binutils-2.3x.tar.*
+
+ (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.3x of the GNU 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
+
+ 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.
+
+ -----------------------------------------------------------------------
+
+ 31. Clean up the source tree:
+
+ git clean -fdx .
+
+ 32. Edit bfd/development.sh on the branch and set the development flag
+ to "true". (Leave the experimental flag set to "false"). Also bump
+ the version in bfd/version.m4 by adding a trailing .0, so that the
+ date suffix keeps the version lower than the trunk version.
+ Regenerate files. Commit these changes.
+
+ 33. Email the binutils list telling everyone that the 2.3x branch
+ is now open for business as usual and that patched no longer
+ need special approval.
+
+ 34. Examine the bfd/config.bfd file in the mainline sources and move
+ any pending obsolete targets into the definitely obsolete
+ section. Create a changelog entry and commit.
+
+--------------------------------------------------------------------------