directories and the top level configure files.
3. When branch day arrives add markers for the upcoming release to
- gas, ld, gold and binutils NEWS files.
- [If using the make-prerelease.sh script, check that
- common.sh has the right values].
- [make-prelease.sh command i]
- Likewise for all of the ChangeLog files.
+ the NEWS files in gas, ld, and binutils. No need to update NEWS
+ in the gold directory - it has its own release numbering.
+
+ Likewise for the ChangeLog files in: bfd, binutils, config, cpu,
+ elfcpp, gas, gold, gprof, include, ld, libctf, opcodes and toplevel.
+
Add a note of the name of the new branch to binutils/BRANCHES.
+
Commit these changes.
- [make-prerelease.sh command C]
4. Create the release branch using:
- git branch binutils-2_31-branch
- git push origin binutils-2_31-branch
+ git branch binutils-2_33-branch
+ git push origin binutils-2_33-branch
+
+ If you get a message like:
+
+ remote: fatal: Invalid revision range 0000000000000000000000000000000000000000..f974f26cb16cc6fe3946f163c787a05e713fb77b
+
+ It appears that this can be ignored...
5. Make sure that the branch is there. IE check out the branch sources:
- git clone ssh://sourceware.org/git/binutils-gdb.git -b binutils-2_31-branch 2.31
+ git clone ssh://sourceware.org/git/binutils-gdb.git -b binutils-2_33-branch 2.33
If you get a message about being in a "detached head" state, something
has gone wrong...
+ Keep the checked out sources - they are going to be needed in future
+ steps.
+
6. Update "BINUTILS_BRANCH" in gdbadmin's crontab:
Log in as gdbadmin on sourceware.org, and then:
ask Joel Brobecker <brobecker AT adacore DOT com>.
7. Rename the current HEAD version entry in Bugzilla, and create a
- new one. E.g. rename "2.30 (HEAD)" to 2.30, and create "2.31
+ new one. E.g. rename "2.33 (HEAD)" to 2.33, and create "2.34
(HEAD)":
https://sourceware.org/bugzilla/editversions.cgi?product=binutils
8. Update bfd/version.m4 on HEAD to indicate that is now a snapshot
of the next release:
- m4_define([BFD_VERSION], [2.31.51])
+ m4_define([BFD_VERSION], [2.33.51])
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.
- m4_define([BFD_VERSION], [2.30.90])
+ m4_define([BFD_VERSION], [2.32.90])
Regenerate various files on both branch and HEAD by configuring
- with --enable-maintainer-mode. NB/ Remember to build gold and
- gprof. Add ChangeLog entries. Commit the changes. Make sure
- that this includes the .pot files as well as the configure and
- makefiles.
+ with "--enable-maintainer-mode --enable-gold" and then building
+ with "make all-binutils all-gas all-gold all-gprof all-ld"
- 8. Create an initial prerelease:
+ Add ChangeLog entries for the updated files. Commit the changes.
+ Make sure that this includes the .pot files as well as the
+ configure and makefiles.
- a. Create a source tarball of the BRANCH sources:
+ 8. Create an initial pre-release:
- ./src-release -x binutils
+ a. Remove any auto-generated files, in order to force the
+ src-release script to rebuild them.
+
+ cd <branch-sources>
+ git clean -fdx .
+
+ b. Create a source tarball of the BRANCH sources:
- b. Build a test target using this tarball.
+ ./src-release -x binutils
- c. Upload the prerelease snapshot to the FTP:
+ c. Build a test target using this tarball.
- scp ../binutils-$version.tar.xz sourceware.org:~ftp/pub/binutils/snapshots
- ssh sourceware.org md5sum ~ftp/pub/binutils/snapshots/binutils-$version.tar.xz
+ cp binutils-<version>.tar.xz /dev/shm
+ cd /dev/shm
+ tar xvf binutils-<version>.tar.xz
+ mkdir build
+ cd build
+ ../<version>/configure --quiet --enable-gold
+ make
- d. Clean up the source directory.
+ If there are problems, fix them.
- 9. Tell the Translation Project where to find the new tarball. <coordinator@translationproject.org>
+ 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
+
+ e. Clean up the source directory again.
+
+ git clean -fdx .
+
+ 9. 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.31 release branch has been created for the FSF binutils.
+ The 2.3x release branch has been created for the FSF binutils.
A snapshot of the branch sources can be found here:
- https://sourceware.org/pub/binutils/snapshots/binutils-2.30.90.tar.xz
+ https://sourceware.org/pub/binutils/snapshots/binutils-2.3x.90.tar.xz
We hope to make the official release of the sources on the 8th July
although that could change if there are important bugs that need to
------------------------------------------------------------------------
Hi Everyone,
- The 2.XX branch has now been created:
+ The 2.3x branch has now been created:
- git clone git://sourceware.org/git/binutils-gdb.git -b binutils-2_XX-branch 2.XX
+ git clone git://sourceware.org/git/binutils-gdb.git -b binutils-2_3x-branch 2.3x
A snapshot of the sources is also available here:
- https://sourceware.org/pub/binutils/snapshots/binutils-2.XX.90.tar.xz
+ https://sourceware.org/pub/binutils/snapshots/binutils-2.3x.90.tar.xz
Please could all patches for the branch be run by me.
The rules for the branch are:
patch files (.reg .orig *~) left over.
cd <branch>
- cvsclean | xargs rm
+ 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.29.90" becomes "2.30". 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.XX-release" comment and
- commit. Make sure to include the .gmo files.
+ 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:
permissions.
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.
+ 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.
26. Tag the branch with the new release number:
- git tag -a binutils-2_XX
+ git tag -a binutils-2_3x
[optional: add "-u XXXXX" to sign with a gpg key]
- git push origin binutils-2_XX
+ git push origin binutils-2_3x
NB/ If you do sign the binaries make sure to use a key
that has been published with the FSF.
27. Upload the tarballs to ftp.gnu.org.
- gnupload --to ftp.gnu.org:binutils binutils-X.XX.tar.*
+ gnupload --to ftp.gnu.org:binutils binutils-2.3x.tar.*
The gnupload script is in the gnulib/build-aux directory.
sftp sourceware.org
cd /sourceware/ftp/pub/binutils/releases
- put binutils-X.XX.tar.*
- chmod 644 binutils-X.XX.tar.*
+ put binutils-2.3x.tar.*
+ chmod 644 binutils-2.3x.tar.*
quit
FIXME: Should the signatures (created by the gnupload script in
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-X.XX.
+ 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 bfd binutils gprof 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.
+
+ 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 will have to be made by hand). Create an
- index.html file and then edit the docs link to point to the new
- docs-X.XX directory.
-
- Update the index.html file in the directory containing the
- docs-X.XX entries to point to the new documentation and mention
- the new version.
+ directories had to be made by hand, as shown above).
+
+ cd as
+ lcd <build-dir>/gas/doc/as.html
+ put *
+ 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 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.
+ 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.XX of the GNU Binutils project
+ 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
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. (Use "git status" to find new
- files, and remove them).
+ 31. Clean up the source tree:
- 32. Edit bfd/development.sh on the branch and set
- "development=true". 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.
+ git clean -fdx .
- 33. Email the binutils list telling everyone that the 2.31 branch
+ 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 and move any pending obsolete
+ targets into the definitely obsolete section. Create a
+ changelog entry and commit.
+
-------------------------------------------------
How to perform a point release.
-------------------------------------------------
3. In the branch sources:
a. Update the minor release number in bfd/version.m4.
- b. Edit bfd/development.sh, set "development=false" and
- "experimental=false".
+ b. Edit bfd/development.sh, set "development=false".
c. Regenerate the configure files.
c.1. Remove spurious autom4te.cache files:
find . -depth -name autom4te.cache -exec rm -r {} \;
- d. Commit the updates along with a "this-is-the-2.XX.X-release"
+ d. Commit the updates along with a "this-is-the-2.3x.y-release"
note in all of the changelogs.
e. Tag the branch with the new release number:
- git tag -a binutils-2_XX_X
+ git tag -a binutils-2_3x_y
[optional: add "-u XXXXX" to sign with a gpg key]
- git push origin binutils-2_XX_X
+ git push origin binutils-2_3x_y
f. Check that your file creation mask will create the
correct file permissions. Eg:
umask 022
g. Create the release tarballs:
+
./src-release -b -g -l -x binutils
h. Check that the files in the tarballs have the correct
i. Edit bfd/development.sh and set "development=true".
j. Commit this change into the git repository.
- k. Clean up the source tree. (Use "git status" to find new
- files, and remove them).
4. [If paranoid - upload the tarballs to one of the FTP servers and
ask people to test it before going on to step 5].
5. Upload the tarballs to ftp.gnu.org.
- gnupload --to ftp.gnu.org:binutils binutils-X.XX.X.tar.*
+ gnupload --to ftp.gnu.org:binutils binutils-2.3x.y.tar.*
The gnupload script is in the gnulib/build-aux directory.
sftp sourceware.org
cd /sourceware/ftp/pub/binutils/releases
- put binutils-X.XX.X.tar.*
- chmod 644 binutils-X.XX.X.tar.*
+ put binutils-2.3x.y.tar.*
+ chmod 644 binutils-2.3x.y.tar.*
quit
It is OK to upload the signatures as well.
David Edelsohn <dje.gcc@gmail.com> announcing the new release.
(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.X of the GNU Binutils
+ We are pleased to announce that version 2.3x.y 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/
- This is a point release over the previous 2.XX version, containing bug
+ This is a point release over the previous 2.3x version, containing bug
fixes but no new features.
Our thanks go out to all of the binutils contributors, past and
xx
xx
--------------------------------------------------------------------------
+ 9. Clean up the source tree.
+
+ git clean -dfx .
+
+ 10. Edit bfd/development.sh on the branch and set the development flag
+ to "true". Commit this change.
\f
-Copyright (C) 2017-2019 Free Software Foundation, Inc.
+Copyright (C) 2017-2020 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright