8. Update bfd/version.m4 on HEAD to indicate that is now a snapshot
of the next release:
- m4_define([BFD_VERSION], [2.34.51])
+ m4_define([BFD_VERSION], [2.34.50])
- Update the release number in bfd/version.m4 for the branch.
+ Update the release number in bfd/version.m4 for the BRANCH.
The branch only needs the point value set to 90 as the release
has not actually happened yet.
Make sure that this includes the .pot files as well as the
configure and makefiles.
- 8. Create an initial pre-release:
+ 9. Create an initial pre-release:
a. Remove any auto-generated files, in order to force the
src-release script to rebuild them.
c. Build a test target using this tarball.
- cp binutils-<version>.tar.xz /dev/shm
+ cp binutils-<OLD_VERSION>.90.tar.xz /dev/shm
cd /dev/shm
- tar xvf binutils-<version>.tar.xz
+ tar xvf binutils-<OLD_VERSION>.90.tar.xz
mkdir build
cd build
- ../<version>/configure --quiet --enable-gold
+ ../binutils-<OLD_VERSION>.90/configure --quiet --enable-gold
make
If there are problems, fix them.
d. Upload the pre-release snapshot to the sourceware FTP site:
cd <branch-sources>
- scp binutils-<version>.tar.xz sourceware.org:~ftp/pub/binutils/snapshots
- ssh sourceware.org md5sum ~ftp/pub/binutils/snapshots/binutils-<version>.tar.xz
+ scp binutils-<OLD_VERSION>.90.tar.xz sourceware.org:~ftp/pub/binutils/snapshots
+ ssh sourceware.org md5sum ~ftp/pub/binutils/snapshots/binutils-<OLD_VERSION>.90.tar.xz
e. Clean up the source directory again.
git clean -fdx .
- 9. Tell the Translation Project where to find the new tarball.
+ 10. Tell the Translation Project where to find the new tarball.
<coordinator@translationproject.org>
qv: http://translationproject.org/html/maintainers.html
------------------------------------------------------------------------
Dear Translation Project
- The 2.3x release branch has been created for the FSF binutils.
+ The <NEW_VERSION> release branch has been created for the GNU binutils.
A snapshot of the branch sources can be found here:
- https://sourceware.org/pub/binutils/snapshots/binutils-2.3x.90.tar.xz
+ https://sourceware.org/pub/binutils/snapshots/binutils-<OLD_VERSION>.90.tar.xz
- We hope to make the official release of the sources on the 8th July
+ We hope to make the official release of the sources on the <DATE>
although that could change if there are important bugs that need to
be fixed before the release.
------------------------------------------------------------------------
- 10. Announce the availability of the snapshot and the branch on the
+ 11. Announce the availability of the snapshot and the branch on the
binutils mailing list. Set a date for when the release will
actually happen. Something like:
------------------------------------------------------------------------
Hi Everyone,
- The 2.3x branch has now been created:
+ The <NEW_VERSION> branch has now been created:
- git clone git://sourceware.org/git/binutils-gdb.git -b binutils-2_3x-branch 2.3x
+ 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-2.3x.90.tar.xz
+ 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:
* Fixes for testsuite failures are OK.
Ideally I would like to make the release happen in two weeks time,
- i.e. Saturday 27th Jan. Which I hope will be enough time for everyone
+ i.e. <DATE>. Which I hope will be enough time for everyone
to get their final fixes in.
------------------------------------------------------------------------
- 11. Build various different toolchains, test them and nag
+ 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....
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
+ 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
Remove any spurious autom4te.cache files left over from the
reconfiguring:
- % find . -depth -name autom4te.cache -exec rm -r {} \;
+ 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
./src-release.sh -b -g -l -x binutils
24. Check that the files in the tarballs have the correct
- permissions.
+ 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]
- git push origin binutils-2_3x
-
+ 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.*
chmod 644 binutils-2.3x.tar.*
quit
- FIXME: Should the signatures (created by the gnupload script in
- step 29) be uploaded as well ?
+ 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:
cd /sourceware/www/sourceware/htdocs/binutils
mkdir docs-2.3x
cd docs-2.3x
- mkdir as bfd binutils gprof ld
+ 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
cd as
lcd <build-dir>/gas/doc/as.html
- put *
+ put * {be patient - this takes a long time...}
cd ../bfd
lcd ../../../bfd/doc/bfd.html
put *
put *
Edit the top level binutils index.html file to change the links
- to the new documentation.
+ to point to the new documentation.
cd ../../..
get index.html
checksums: xxxx
- This release contains numerous bug fixes, and also the
- following new features:
+ 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.
+ Our thanks go out to all of the binutils contributors, past and
+ present, for helping to make this release possible.
-----------------------------------------------------------------------
is now open for business as usual and that patched no longer
need special approval.
- 34. Examine the bfd/config.bfd file and move any pending obsolete
- targets into the definitely obsolete section. Create a
- changelog entry and commit.
+ 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.
--------------------------------------------------
+--------------------------------------------------------------------------
How to perform a point release.
--------------------------------------------------
+--------------------------------------------------------------------------
A point release is easier than a normal release since a lot of the
work has already been done. The branch has been created, the