2017-09-26 17:07:23 +08:00
|
|
|
|
README for MAKING BINUTILS RELEASES
|
2018-01-16 19:20:01 +08:00
|
|
|
|
|
2017-09-26 17:07:23 +08:00
|
|
|
|
This is a collection of notes on how to perform a binutils release. A
|
|
|
|
|
lot of this information can also be found in the maintain.texi file in
|
|
|
|
|
the gnulib project:
|
|
|
|
|
|
|
|
|
|
https://www.gnu.org/software/gnulib/
|
|
|
|
|
|
|
|
|
|
It is useful to have a cloned copy of the sources of this project as
|
|
|
|
|
it also contains an upload script used to install tarballs on the GNU
|
|
|
|
|
FTP server.
|
|
|
|
|
|
|
|
|
|
Make sure that you have upload authority on sourceware and fencepost.
|
|
|
|
|
Beware - this is an involved process and can take weeks to complete.
|
|
|
|
|
See the maintain.texi file for details on how to obtain these
|
|
|
|
|
permissions.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------
|
|
|
|
|
How to perform a release.
|
|
|
|
|
-------------------------------------------------
|
|
|
|
|
|
2018-01-13 01:52:38 +08:00
|
|
|
|
1. Send an email out warning contributors about the forthcoming
|
|
|
|
|
branch. Set a date for the branch (weekends are better because
|
|
|
|
|
they are less busy).
|
2018-01-16 19:20:01 +08:00
|
|
|
|
|
2018-01-18 17:38:59 +08:00
|
|
|
|
2. When the branch date is near: Update the libiberty and config
|
|
|
|
|
directories and the top level configure files.
|
2018-01-13 01:52:38 +08:00
|
|
|
|
|
|
|
|
|
3. When branch day arrives add markers for the upcoming release to
|
2019-01-19 23:55:50 +08:00
|
|
|
|
the NEWS files in gas, ld, gold and binutils.
|
|
|
|
|
|
|
|
|
|
Likewise for the ChangeLog files in: bfd, binutils, config, cpu,
|
|
|
|
|
elfcpp, gas, gold, gprof, include, ld, opcodes and toplevel.
|
|
|
|
|
|
2018-01-13 21:20:55 +08:00
|
|
|
|
Add a note of the name of the new branch to binutils/BRANCHES.
|
2019-01-19 23:55:50 +08:00
|
|
|
|
|
2018-01-13 21:20:55 +08:00
|
|
|
|
Commit these changes.
|
2018-01-16 19:20:01 +08:00
|
|
|
|
|
2018-01-13 01:52:38 +08:00
|
|
|
|
4. Create the release branch using:
|
|
|
|
|
|
2019-01-20 00:51:42 +08:00
|
|
|
|
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...
|
2018-01-13 01:52:38 +08:00
|
|
|
|
|
2018-06-25 03:09:10 +08:00
|
|
|
|
5. Make sure that the branch is there. IE check out the branch sources:
|
|
|
|
|
|
2019-01-20 00:51:42 +08:00
|
|
|
|
git clone ssh://sourceware.org/git/binutils-gdb.git -b binutils-2_33-branch 2.33
|
2018-06-25 03:09:10 +08:00
|
|
|
|
|
|
|
|
|
If you get a message about being in a "detached head" state, something
|
|
|
|
|
has gone wrong...
|
|
|
|
|
|
2019-02-04 19:19:42 +08:00
|
|
|
|
Keep the checked out sources - they are going to be needed in future
|
|
|
|
|
steps.
|
2019-01-20 00:51:42 +08:00
|
|
|
|
|
2018-06-25 03:09:10 +08:00
|
|
|
|
6. Update "BINUTILS_BRANCH" in gdbadmin's crontab:
|
2018-01-16 21:18:36 +08:00
|
|
|
|
|
|
|
|
|
Log in as gdbadmin on sourceware.org, and then:
|
|
|
|
|
|
|
|
|
|
$ cd crontab
|
|
|
|
|
$ vi crontab
|
|
|
|
|
[change BINUTILS_BRANCH]
|
|
|
|
|
$ cvs ci crontab
|
|
|
|
|
$ crontab crontab
|
|
|
|
|
|
|
|
|
|
If you do not have access to this account, please feel free to
|
|
|
|
|
ask Joel Brobecker <brobecker AT adacore DOT com>.
|
|
|
|
|
|
2018-06-25 03:09:10 +08:00
|
|
|
|
7. Rename the current HEAD version entry in Bugzilla, and create a
|
2019-01-20 00:51:42 +08:00
|
|
|
|
new one. E.g. rename "2.33 (HEAD)" to 2.33, and create "2.34
|
2018-01-18 17:38:59 +08:00
|
|
|
|
(HEAD)":
|
|
|
|
|
|
|
|
|
|
https://sourceware.org/bugzilla/editversions.cgi?product=binutils
|
2018-01-13 01:52:38 +08:00
|
|
|
|
|
2018-06-25 02:13:01 +08:00
|
|
|
|
8. Update bfd/version.m4 on HEAD to indicate that is now a snapshot
|
|
|
|
|
of the next release:
|
|
|
|
|
|
2019-01-20 00:51:42 +08:00
|
|
|
|
m4_define([BFD_VERSION], [2.33.51])
|
2018-06-25 02:13:01 +08:00
|
|
|
|
|
2018-06-26 19:56:23 +08:00
|
|
|
|
Update the release number in bfd/version.m4 for the branch.
|
2018-06-25 02:13:01 +08:00
|
|
|
|
The branch only needs the point value set to 90 as the release
|
|
|
|
|
has not actually happened yet.
|
|
|
|
|
|
2019-01-20 00:51:42 +08:00
|
|
|
|
m4_define([BFD_VERSION], [2.32.90])
|
2018-01-26 19:14:26 +08:00
|
|
|
|
|
|
|
|
|
Regenerate various files on both branch and HEAD by configuring
|
2019-01-20 00:51:42 +08:00
|
|
|
|
with "--enable-maintainer-mode --enable-gold" and then building
|
|
|
|
|
with "make all-binutils all-gas all-gold all-gprof all-ld"
|
|
|
|
|
|
|
|
|
|
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.
|
2018-01-13 01:52:38 +08:00
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
8. Create an initial pre-release:
|
2018-01-13 01:52:38 +08:00
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
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:
|
2018-01-16 19:20:01 +08:00
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
./src-release -x binutils
|
2018-01-16 19:20:01 +08:00
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
c. Build a test target using this tarball.
|
2018-01-13 01:52:38 +08:00
|
|
|
|
|
2019-01-21 20:59:20 +08:00
|
|
|
|
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
|
2018-01-13 01:52:38 +08:00
|
|
|
|
|
2019-01-21 20:59:20 +08:00
|
|
|
|
If there are problems, fix them.
|
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
d. Upload the pre-release snapshot to the sourceware FTP site:
|
2019-01-21 20:59:20 +08:00
|
|
|
|
|
|
|
|
|
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
|
2018-01-13 01:52:38 +08:00
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
e. Clean up the source directory again.
|
|
|
|
|
|
|
|
|
|
git clean -fdx .
|
2019-01-21 20:59:20 +08:00
|
|
|
|
|
2019-02-04 19:19:42 +08:00
|
|
|
|
9. Tell the Translation Project where to find the new tarball.
|
|
|
|
|
<coordinator@translationproject.org>
|
2018-06-25 03:09:10 +08:00
|
|
|
|
qv: http://translationproject.org/html/maintainers.html
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
|
Dear Translation Project
|
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
The 2.3x release branch has been created for the FSF binutils.
|
2018-06-25 03:09:10 +08:00
|
|
|
|
|
|
|
|
|
A snapshot of the branch sources can be found here:
|
2018-01-16 19:20:01 +08:00
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
https://sourceware.org/pub/binutils/snapshots/binutils-2.3x.90.tar.xz
|
2018-01-16 19:20:01 +08:00
|
|
|
|
|
2018-06-25 03:09:10 +08:00
|
|
|
|
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.
|
|
|
|
|
------------------------------------------------------------------------
|
2018-01-13 01:52:38 +08:00
|
|
|
|
|
2018-06-25 02:13:01 +08:00
|
|
|
|
10. Announce the availability of the snapshot and the branch on the
|
2018-01-13 01:52:38 +08:00
|
|
|
|
binutils mailing list. Set a date for when the release will
|
2018-01-18 17:38:59 +08:00
|
|
|
|
actually happen. Something like:
|
2018-06-25 03:09:10 +08:00
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
|
Hi Everyone,
|
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
The 2.3x branch has now been created:
|
2018-06-25 03:09:10 +08:00
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
git clone git://sourceware.org/git/binutils-gdb.git -b binutils-2_3x-branch 2.3x
|
2018-06-25 03:09:10 +08:00
|
|
|
|
|
|
|
|
|
A snapshot of the sources is also available here:
|
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
https://sourceware.org/pub/binutils/snapshots/binutils-2.3x.90.tar.xz
|
2018-06-25 03:09:10 +08:00
|
|
|
|
|
|
|
|
|
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
|
2018-01-18 17:38:59 +08:00
|
|
|
|
maintainers to fix any testsuite failures for their
|
|
|
|
|
architectures...
|
|
|
|
|
|
2018-01-13 01:52:38 +08:00
|
|
|
|
|
2018-01-26 19:14:26 +08:00
|
|
|
|
When the time comes to actually make the release....
|
|
|
|
|
|
|
|
|
|
|
2018-01-28 00:37:24 +08:00
|
|
|
|
20. Make sure that the branch sources still build, test and install
|
2018-07-15 03:23:52 +08:00
|
|
|
|
correctly. Make sure that the sources are clean, without any
|
|
|
|
|
patch files (.reg .orig *~) left over.
|
|
|
|
|
|
|
|
|
|
cd <branch>
|
2019-02-12 19:05:21 +08:00
|
|
|
|
git clean -dfx .
|
2018-01-28 00:37:24 +08:00
|
|
|
|
|
|
|
|
|
21. Update the release number in bfd/version.m4 on the release
|
2018-01-26 19:14:26 +08:00
|
|
|
|
branch to a whole new minor version number, without a point
|
|
|
|
|
value. Eg "2.29.90" becomes "2.30". Change bfd/development.sh
|
2018-08-23 20:56:03 +08:00
|
|
|
|
to set all values to "false". Regenerate the configure and
|
2018-08-01 22:51:57 +08:00
|
|
|
|
makefiles. And *info* files. Add ChangeLog entries for the
|
2019-02-12 19:05:21 +08:00
|
|
|
|
updates and add a "this-is-the-2.3x-release" comment and
|
|
|
|
|
commit.
|
2018-01-28 00:37:24 +08:00
|
|
|
|
|
|
|
|
|
22. Check that your file creation mask will create the
|
|
|
|
|
correct file permissions. Eg:
|
|
|
|
|
|
2018-07-15 03:23:52 +08:00
|
|
|
|
% umask
|
|
|
|
|
22
|
|
|
|
|
|
|
|
|
|
Remove any spurious autom4te.cache files left over from the
|
|
|
|
|
reconfiguring:
|
|
|
|
|
|
|
|
|
|
% find . -depth -name autom4te.cache -exec rm -r {} \;
|
2018-01-28 00:37:24 +08:00
|
|
|
|
|
2018-07-16 21:14:17 +08:00
|
|
|
|
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:
|
2018-01-28 00:37:24 +08:00
|
|
|
|
|
2018-07-15 03:23:52 +08:00
|
|
|
|
./src-release.sh -b -g -l -x binutils
|
2018-01-28 00:37:24 +08:00
|
|
|
|
|
|
|
|
|
24. Check that the files in the tarballs have the correct
|
2018-07-15 03:23:52 +08:00
|
|
|
|
permissions.
|
2018-01-28 00:37:24 +08:00
|
|
|
|
|
|
|
|
|
25. Sanity check the release on x86_64-pc-linux-gnu by building and
|
2019-02-04 19:19:42 +08:00
|
|
|
|
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.
|
2018-01-28 00:37:24 +08:00
|
|
|
|
|
|
|
|
|
26. Tag the branch with the new release number:
|
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
git tag -a binutils-2_3x
|
2018-01-28 00:37:24 +08:00
|
|
|
|
[optional: add "-u XXXXX" to sign with a gpg key]
|
2019-02-12 19:05:21 +08:00
|
|
|
|
git push origin binutils-2_3x
|
2018-01-28 00:37:24 +08:00
|
|
|
|
|
2018-01-29 00:35:37 +08:00
|
|
|
|
NB/ If you do sign the binaries make sure to use a key
|
|
|
|
|
that has been published with the FSF.
|
|
|
|
|
|
2018-07-15 03:23:52 +08:00
|
|
|
|
27. Upload the tarballs to ftp.gnu.org.
|
2018-01-28 00:37:24 +08:00
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
gnupload --to ftp.gnu.org:binutils binutils-2.3x.tar.*
|
2018-01-28 00:37:24 +08:00
|
|
|
|
|
|
|
|
|
The gnupload script is in the gnulib/build-aux directory.
|
|
|
|
|
|
2018-01-29 00:35:37 +08:00
|
|
|
|
Check for an email response from the upload. If necessary
|
|
|
|
|
fix any problems.
|
|
|
|
|
|
2018-07-15 03:23:52 +08:00
|
|
|
|
28. Upload the tarballs (and signatures) to sourceware.org:
|
2018-01-28 00:37:24 +08:00
|
|
|
|
|
|
|
|
|
sftp sourceware.org
|
|
|
|
|
cd /sourceware/ftp/pub/binutils/releases
|
2019-02-12 19:05:21 +08:00
|
|
|
|
put binutils-2.3x.tar.*
|
|
|
|
|
chmod 644 binutils-2.3x.tar.*
|
2018-01-28 00:37:24 +08:00
|
|
|
|
quit
|
|
|
|
|
|
|
|
|
|
FIXME: Should the signatures (created by the gnupload script in
|
|
|
|
|
step 29) be uploaded as well ?
|
|
|
|
|
|
2018-07-15 03:23:52 +08:00
|
|
|
|
29. Update web pages. For sourceware.org:
|
2018-01-28 00:37:24 +08:00
|
|
|
|
|
|
|
|
|
Create a new documentation folder on the sourceware.org web
|
2019-02-12 19:05:21 +08:00
|
|
|
|
pages as /sourceware/www/sourceware/htdocs/binutils/docs-2.3x.
|
2019-02-04 19:19:42 +08:00
|
|
|
|
|
|
|
|
|
sftp sourceware.org
|
|
|
|
|
cd /sourceware/www/sourceware/htdocs/binutils
|
2019-02-12 19:05:21 +08:00
|
|
|
|
mkdir docs-2.3x
|
|
|
|
|
cd docs-2.3x
|
2019-02-04 19:19:42 +08:00
|
|
|
|
mkdir as bfd binutils gprof ld
|
2019-02-12 19:05:21 +08:00
|
|
|
|
cd ../docs-2.3(x-1)
|
2019-02-04 19:19:42 +08:00
|
|
|
|
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.
|
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
cd ../docs-2.3x
|
2019-02-04 19:19:42 +08:00
|
|
|
|
put index.html
|
|
|
|
|
|
2018-01-28 00:37:24 +08:00
|
|
|
|
Make the html documentation locally with the "make html" command
|
2018-07-16 21:14:17 +08:00
|
|
|
|
and then upload and rename the directories as needed. (sftp
|
|
|
|
|
does not appear to support recursive uploads however, so the
|
2019-02-04 19:19:42 +08:00
|
|
|
|
directories will have to be made by hand).
|
|
|
|
|
|
|
|
|
|
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 ../../..
|
2019-02-12 19:05:21 +08:00
|
|
|
|
get index.html
|
2019-02-04 19:19:42 +08:00
|
|
|
|
[edit]
|
|
|
|
|
put index.html
|
2019-04-23 18:19:58 +08:00
|
|
|
|
rm docs
|
|
|
|
|
ln -s docs-2.3x docs
|
2019-02-04 19:19:42 +08:00
|
|
|
|
quit
|
|
|
|
|
|
|
|
|
|
Check that the new web page is correct.
|
2018-01-28 00:37:24 +08:00
|
|
|
|
|
|
|
|
|
For the www.gnu.org site you have to email webmasters@gnu.org
|
|
|
|
|
and ask them to make the change(s).
|
|
|
|
|
|
2018-07-15 03:23:52 +08:00
|
|
|
|
30. Send emails to binutils@sourceware.org, info-gnu@gnu.org and
|
2018-01-28 00:37:24 +08:00
|
|
|
|
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:
|
2019-02-04 19:19:42 +08:00
|
|
|
|
-----------------------------------------------------------------------
|
2018-01-28 00:37:24 +08:00
|
|
|
|
Hi Everyone,
|
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
We are pleased to announce that version 2.3x of the GNU Binutils project
|
2018-01-28 00:37:24 +08:00
|
|
|
|
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
|
2018-01-26 19:14:26 +08:00
|
|
|
|
|
2018-01-28 00:37:24 +08:00
|
|
|
|
This release contains numerous bug fixes, and also the
|
|
|
|
|
following new features:
|
2017-09-26 17:07:23 +08:00
|
|
|
|
|
2018-01-28 00:37:24 +08:00
|
|
|
|
<extract info from the NEWS files>
|
2018-01-26 19:14:26 +08:00
|
|
|
|
|
2018-01-28 00:37:24 +08:00
|
|
|
|
Our thanks go out to all of the binutils contributors, past and
|
|
|
|
|
present, for helping to make this release possible.
|
2018-01-26 19:14:26 +08:00
|
|
|
|
|
2019-02-04 19:19:42 +08:00
|
|
|
|
-----------------------------------------------------------------------
|
2018-01-26 19:14:26 +08:00
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
31. Clean up the source tree:
|
|
|
|
|
|
|
|
|
|
git clean -fdx .
|
2019-02-04 19:19:42 +08:00
|
|
|
|
|
|
|
|
|
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.
|
2018-07-15 03:23:52 +08:00
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
33. Email the binutils list telling everyone that the 2.3x branch
|
2018-07-15 03:23:52 +08:00
|
|
|
|
is now open for business as usual and that patched no longer
|
|
|
|
|
need special approval.
|
2019-02-07 22:30:02 +08:00
|
|
|
|
|
|
|
|
|
34. Examine the bfd/config.bfd file and move any pending obsolete
|
|
|
|
|
targets into the definitely obsolete section. Create a
|
|
|
|
|
changelog entry and commit.
|
|
|
|
|
|
2017-09-26 17:07:23 +08:00
|
|
|
|
-------------------------------------------------
|
|
|
|
|
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
|
|
|
|
|
translations updated and the documentation uploaded. So the procedure
|
|
|
|
|
looks like this:
|
|
|
|
|
|
|
|
|
|
0. Decide that a point release is necessary.
|
|
|
|
|
|
|
|
|
|
Usually this only happens when a sufficient number of serious
|
|
|
|
|
bugs have been found and fixed since the previous release, and a
|
|
|
|
|
new official release is not imminent.
|
|
|
|
|
|
|
|
|
|
1. Tell the community that a point release is happening. Ask
|
|
|
|
|
maintainers to ensure that their ports are up to date on the
|
|
|
|
|
release branch. Ask the community if there are any bug fixes
|
|
|
|
|
which are missing from the branch. Allow some time for the
|
|
|
|
|
responses to this step.
|
|
|
|
|
|
|
|
|
|
2. Make sure that the branch sources build, test and install
|
|
|
|
|
correctly.
|
|
|
|
|
|
2018-01-13 01:52:38 +08:00
|
|
|
|
2.5 Prepare a list of the bugs which have been fixed. This
|
|
|
|
|
will be needed for step 8.
|
2018-01-16 19:20:01 +08:00
|
|
|
|
|
2017-10-05 17:52:04 +08:00
|
|
|
|
3. In the branch sources:
|
2018-01-16 19:20:01 +08:00
|
|
|
|
|
2017-10-05 17:52:04 +08:00
|
|
|
|
a. Update the minor release number in bfd/version.m4.
|
2019-02-12 19:05:21 +08:00
|
|
|
|
b. Edit bfd/development.sh, set "development=false".
|
2017-10-05 17:52:04 +08:00
|
|
|
|
c. Regenerate the configure files.
|
2018-07-19 21:23:31 +08:00
|
|
|
|
c.1. Remove spurious autom4te.cache files:
|
|
|
|
|
|
|
|
|
|
find . -depth -name autom4te.cache -exec rm -r {} \;
|
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
d. Commit the updates along with a "this-is-the-2.3x.y-release"
|
2017-10-05 17:52:04 +08:00
|
|
|
|
note in all of the changelogs.
|
|
|
|
|
e. Tag the branch with the new release number:
|
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
git tag -a binutils-2_3x_y
|
2017-10-05 17:52:04 +08:00
|
|
|
|
[optional: add "-u XXXXX" to sign with a gpg key]
|
2019-02-12 19:05:21 +08:00
|
|
|
|
git push origin binutils-2_3x_y
|
2017-10-05 17:52:04 +08:00
|
|
|
|
|
2017-10-18 21:40:06 +08:00
|
|
|
|
f. Check that your file creation mask will create the
|
|
|
|
|
correct file permissions. Eg:
|
|
|
|
|
|
|
|
|
|
umask 022
|
2018-01-16 19:20:01 +08:00
|
|
|
|
|
2017-10-18 21:40:06 +08:00
|
|
|
|
g. Create the release tarballs:
|
2019-02-12 19:05:21 +08:00
|
|
|
|
|
2017-10-05 17:52:04 +08:00
|
|
|
|
./src-release -b -g -l -x binutils
|
2017-10-18 21:40:06 +08:00
|
|
|
|
|
|
|
|
|
h. Check that the files in the tarballs have the correct
|
|
|
|
|
permissions.
|
2018-01-16 19:20:01 +08:00
|
|
|
|
|
2017-10-18 21:40:06 +08:00
|
|
|
|
i. Edit bfd/development.sh and set "development=true".
|
|
|
|
|
j. Commit this change into the git repository.
|
2019-02-12 19:05:21 +08:00
|
|
|
|
k. Clean up the source tree.
|
|
|
|
|
|
|
|
|
|
git clean -dfx .
|
2017-09-26 17:07:23 +08:00
|
|
|
|
|
2017-10-05 17:52:04 +08:00
|
|
|
|
4. [If paranoid - upload the tarballs to one of the FTP servers and
|
|
|
|
|
ask people to test it before going on to step 5].
|
2018-01-16 19:20:01 +08:00
|
|
|
|
|
2017-10-05 17:52:04 +08:00
|
|
|
|
5. Upload the tarballs to ftp.gnu.org.
|
2017-09-26 17:07:23 +08:00
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
gnupload --to ftp.gnu.org:binutils binutils-2.3x.y.tar.*
|
2017-09-26 17:07:23 +08:00
|
|
|
|
|
2017-10-05 17:52:04 +08:00
|
|
|
|
The gnupload script is in the gnulib/build-aux directory.
|
2017-09-26 17:07:23 +08:00
|
|
|
|
|
2017-10-05 17:52:04 +08:00
|
|
|
|
6. Upload the tarballs to sourceware.org:
|
2017-09-26 17:07:23 +08:00
|
|
|
|
|
|
|
|
|
sftp sourceware.org
|
2018-07-19 21:23:31 +08:00
|
|
|
|
cd /sourceware/ftp/pub/binutils/releases
|
2019-02-12 19:05:21 +08:00
|
|
|
|
put binutils-2.3x.y.tar.*
|
|
|
|
|
chmod 644 binutils-2.3x.y.tar.*
|
2017-09-26 17:07:23 +08:00
|
|
|
|
quit
|
|
|
|
|
|
2018-07-19 21:23:31 +08:00
|
|
|
|
It is OK to upload the signatures as well.
|
2017-09-26 17:07:23 +08:00
|
|
|
|
|
2017-10-05 17:52:04 +08:00
|
|
|
|
7. Update web pages. For sourceware.org:
|
2017-09-26 17:07:23 +08:00
|
|
|
|
|
|
|
|
|
* Log on to sourceware.org
|
2018-07-19 21:23:31 +08:00
|
|
|
|
* Go to /sourceware/www/sourceware/htdocs/binutils
|
2017-09-26 17:07:23 +08:00
|
|
|
|
* Edit index.html
|
|
|
|
|
|
|
|
|
|
For the www.gnu.org site you have to email webmasters@gnu.org
|
|
|
|
|
and ask them to make the change(s).
|
|
|
|
|
|
2017-10-05 17:52:04 +08:00
|
|
|
|
8. Send an emails to the binutils list, info-gnu@gnu.org and
|
|
|
|
|
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:
|
2017-09-26 17:07:23 +08:00
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
|
Hi Everyone,
|
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
We are pleased to announce that version 2.3x.y of the GNU Binutils
|
2018-07-19 21:23:31 +08:00
|
|
|
|
project sources have been released and are now available for download at:
|
2018-01-16 19:20:01 +08:00
|
|
|
|
|
2017-09-26 17:07:23 +08:00
|
|
|
|
https://ftp.gnu.org/gnu/binutils
|
|
|
|
|
https://sourceware.org/pub/binutils/releases/
|
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
This is a point release over the previous 2.3x version, containing bug
|
2017-09-26 17:07:23 +08:00
|
|
|
|
fixes but no new features.
|
|
|
|
|
|
|
|
|
|
Our thanks go out to all of the binutils contributors, past and
|
|
|
|
|
present, for helping to make this release possible.
|
2018-01-13 01:52:38 +08:00
|
|
|
|
|
|
|
|
|
Here is a list of the bugs that have been fixed:
|
|
|
|
|
xx
|
|
|
|
|
xx
|
|
|
|
|
xx
|
|
|
|
|
xx
|
2017-09-26 17:07:23 +08:00
|
|
|
|
--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
2019-01-01 18:31:27 +08:00
|
|
|
|
Copyright (C) 2017-2019 Free Software Foundation, Inc.
|
2017-09-26 17:07:23 +08:00
|
|
|
|
|
|
|
|
|
Copying and distribution of this file, with or without modification,
|
|
|
|
|
are permitted in any medium without royalty provided the copyright
|
|
|
|
|
notice and this notice are preserved.
|