4. Create the release branch using:
- git tag -a binutils-2_31-branch [e.g. for the 2.31 branch...]
- Suggested tag note: "The 2.31 branch for the FSF binutils"
-
- git push --tags origin binutils-2_31-branch
+ git branch binutils-2_31-branch
+ git push origin binutils-2_31-branch
+
+ 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
- 5. Update "BINUTILS_BRANCH" in gdbadmin's crontab:
+ If you get a message about being in a "detached head" state, something
+ has gone wrong...
+
+ 6. Update "BINUTILS_BRANCH" in gdbadmin's crontab:
Log in as gdbadmin on sourceware.org, and then:
If you do not have access to this account, please feel free to
ask Joel Brobecker <brobecker AT adacore DOT com>.
- 6. Rename the current HEAD version entry in Bugzilla, and create a
+ 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
(HEAD)":
https://sourceware.org/bugzilla/editversions.cgi?product=binutils
- 7. Check out the branch sources:
-
- git clone ssh://sourceware.org/git/binutils-gdb.git -b binutils-2_31-branch 2.31
-
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])
- Update the release number in bfd/version.m4 for the 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.
8. Create an initial prerelease:
- a. Create a source tarball of the branch sources:
+ a. Create a source tarball of the BRANCH sources:
./src-release -x binutils
scp ../binutils-$version.tar.xz sourceware.org:~ftp/pub/binutils/snapshots
ssh sourceware.org md5sum ~ftp/pub/binutils/snapshots/binutils-$version.tar.xz
- 9. Send it to the Translation Project:
+ d. Clean up the source directory.
+
+ 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.
- http://translationproject.org/html/maintainers.html
+ A snapshot of the branch sources can be found here:
- Sending mail for one of the POT files is sufficient.
+ https://sourceware.org/pub/binutils/snapshots/binutils-2.30.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
+ be fixed before the release.
+------------------------------------------------------------------------
10. 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.XX branch has now been created:
-
- git clone git://sourceware.org/git/binutils-gdb.git -b binutils-2_XX-branch 2.XX
-
- A snapshot of the sources is also available here:
-
- ftp://sourceware.org/pub/binutils/snapshots/binutils-2.XX.0.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. Saturday 27th Jan. Which I hope will be enough time for everyone
- to get their final fixes in.
- ------------------------------------------------------------------------
-
- 12. Build various different toolchains, test them and nag
+
+------------------------------------------------------------------------
+Hi Everyone,
+
+ The 2.XX branch has now been created:
+
+ git clone git://sourceware.org/git/binutils-gdb.git -b binutils-2_XX-branch 2.XX
+
+ A snapshot of the sources is also available here:
+
+ https://sourceware.org/pub/binutils/snapshots/binutils-2.XX.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. Saturday 27th Jan. Which I hope will be enough time for everyone
+ to get their final fixes in.
+------------------------------------------------------------------------
+
+ 11. Build various different toolchains, test them and nag
maintainers to fix any testsuite failures for their
architectures...
20. Make sure that the branch sources still build, test and install
- correctly.
+ correctly. Make sure that the sources are clean, without any
+ patch files (.reg .orig *~) left over.
+
+ cd <branch>
+ cvsclean | xargs rm
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". 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.
+ 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.
22. Check that your file creation mask will create the
correct file permissions. Eg:
- umask 022
+ % umask
+ 22
+
+ Remove any spurious autom4te.cache files left over from the
+ reconfiguring:
+
+ % find . -depth -name autom4te.cache -exec rm -r {} \;
- 23. Create the release tarballs:
+ 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 -b -g -l -x binutils
+ ./src-release.sh -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.
+ permissions.
25. Sanity check the release on x86_64-pc-linux-gnu by building and
running the testsuite. Make the source directory read-only
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.
+ 27. Upload the tarballs to ftp.gnu.org.
gnupload --to ftp.gnu.org:binutils binutils-X.XX.tar.*
Check for an email response from the upload. If necessary
fix any problems.
- 30. Upload the tarballs (and signatures) to sourceware.org:
+ 28. Upload the tarballs (and signatures) to sourceware.org:
sftp sourceware.org
cd /sourceware/ftp/pub/binutils/releases
FIXME: Should the signatures (created by the gnupload script in
step 29) be uploaded as well ?
- 31. Update web pages. For sourceware.org:
+ 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.
Make the html documentation locally with the "make html" command
- and then upload and rename the directories as needed. Create an
+ 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 sourceware.org site to point to the new documentation
- and mention the new version.
+ 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.
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
+ 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.
(The email to Davis is so that he can update the GNU Toolchain
------------------------------------------------------------------------
Hi Everyone,
- We are pleased to announce that version 2.XX of the Binutils project
+ We are pleased to announce that version 2.XX of the GNU Binutils project
sources have been released and are now available for download at:
https://ftp.gnu.org/gnu/binutils
--------------------------------------------------------------------------
+ 31. Clean up the source tree. (Use "git status" to find new
+ files, and remove them).
+
+ 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.
+
+ 33. Email the binutils list telling everyone that the 2.31 branch
+ is now open for business as usual and that patched no longer
+ need special approval.
+
-------------------------------------------------
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 and set "development=false".
+ b. Edit bfd/development.sh, set "development=false" and
+ "experimental=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"
note in all of the changelogs.
e. Tag the branch with the new release number:
k. Clean up the source tree. (Use "git status" to find new
files, and remove them).
- FIXME: The tarballs will contain spurious autom4te.cache
- directories which could be removed to reduce their size.
-
4. [If paranoid - upload the tarballs to one of the FTP servers and
ask people to test it before going on to step 5].
6. Upload the tarballs to sourceware.org:
sftp sourceware.org
- cd /ftp/pub/binutils/releases
+ cd /sourceware/ftp/pub/binutils/releases
put binutils-X.XX.X.tar.*
chmod 644 binutils-X.XX.X.tar.*
quit
- FIXME: Should the signatures (created by the gnupload script in
- step 5) be uploaded as well ?
+ It is OK to upload the signatures as well.
7. Update web pages. For sourceware.org:
* Log on to sourceware.org
- * Go /www/htdocs/binutils
+ * Go to /sourceware/www/sourceware/htdocs/binutils
* Edit index.html
For the www.gnu.org site you have to email webmasters@gnu.org
------------------------------------------------------------------------
Hi Everyone,
- We are pleased to announce that version 2.XX.X of the Binutils project
- sources have been released and are now available for download at:
+ We are pleased to announce that version 2.XX.X 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/