Add a warning to the how-to-make-a-release notes to check the permissions on the...
[deliverable/binutils-gdb.git] / binutils / README-how-to-make-a-release
1 README for MAKING BINUTILS RELEASES
2
3 This is a collection of notes on how to perform a binutils release. A
4 lot of this information can also be found in the maintain.texi file in
5 the gnulib project:
6
7 https://www.gnu.org/software/gnulib/
8
9 It is useful to have a cloned copy of the sources of this project as
10 it also contains an upload script used to install tarballs on the GNU
11 FTP server.
12
13 Make sure that you have upload authority on sourceware and fencepost.
14 Beware - this is an involved process and can take weeks to complete.
15 See the maintain.texi file for details on how to obtain these
16 permissions.
17
18 -------------------------------------------------
19 How to perform a release.
20 -------------------------------------------------
21
22 xxx -- fill in stuff here -- xxx
23
24 -------------------------------------------------
25 How to perform a point release.
26 -------------------------------------------------
27
28 A point release is easier than a normal release since a lot of the
29 work has already been done. The branch has been created, the
30 translations updated and the documentation uploaded. So the procedure
31 looks like this:
32
33 0. Decide that a point release is necessary.
34
35 Usually this only happens when a sufficient number of serious
36 bugs have been found and fixed since the previous release, and a
37 new official release is not imminent.
38
39 1. Tell the community that a point release is happening. Ask
40 maintainers to ensure that their ports are up to date on the
41 release branch. Ask the community if there are any bug fixes
42 which are missing from the branch. Allow some time for the
43 responses to this step.
44
45 2. Make sure that the branch sources build, test and install
46 correctly.
47
48 3. In the branch sources:
49
50 a. Update the minor release number in bfd/version.m4.
51 b. Edit bfd/development.sh and set "development=false".
52 c. Regenerate the configure files.
53 d. Commit the updates along with a "this-is-the-2.XX.X-release"
54 note in all of the changelogs.
55 e. Tag the branch with the new release number:
56
57 git tag -a binutils-2_XX_X
58 [optional: add "-u XXXXX" to sign with a gpg key]
59 git push origin binutils-2_XX_X
60
61 f. Check that your file creation mask will create the
62 correct file permissions. Eg:
63
64 umask 022
65
66 g. Create the release tarballs:
67 ./src-release -b -g -l -x binutils
68
69 h. Check that the files in the tarballs have the correct
70 permissions.
71
72 i. Edit bfd/development.sh and set "development=true".
73 j. Commit this change into the git repository.
74 k. Clean up the source tree. (Use "git status" to find new
75 files, and remove them).
76
77 FIXME: The tarballs will contain spurious autom4te.cache
78 directories which could be removed to reduce their size.
79
80 4. [If paranoid - upload the tarballs to one of the FTP servers and
81 ask people to test it before going on to step 5].
82
83 5. Upload the tarballs to ftp.gnu.org.
84
85 gnupload --to ftp.gnu.org:binutils binutils-X.XX.X.tar.*
86
87 The gnupload script is in the gnulib/build-aux directory.
88
89 6. Upload the tarballs to sourceware.org:
90
91 sftp sourceware.org
92 cd /ftp/pub/binutils/releases
93 put binutils-X.XX.X.tar.*
94 chmod 644 binutils-X.XX.X.tar.*
95 quit
96
97 FIXME: Should the signatures (created by the gnupload script in
98 step 5) be uploaded as well ?
99
100 7. Update web pages. For sourceware.org:
101
102 * Log on to sourceware.org
103 * Go /www/htdocs/binutils
104 * Edit index.html
105
106 For the www.gnu.org site you have to email webmasters@gnu.org
107 and ask them to make the change(s).
108
109 8. Send an emails to the binutils list, info-gnu@gnu.org and
110 David Edelsohn <dje.gcc@gmail.com> announcing the new release.
111 (The email to Davis is so that he can update the GNU Toolchain
112 social media). Something like this:
113 ------------------------------------------------------------------------
114 Hi Everyone,
115
116 We are pleased to announce that version 2.XX.X of the Binutils project
117 sources have been released and are now available for download at:
118
119 https://ftp.gnu.org/gnu/binutils
120 https://sourceware.org/pub/binutils/releases/
121
122 This is a point release over the previous 2.XX version, containing bug
123 fixes but no new features.
124
125 Our thanks go out to all of the binutils contributors, past and
126 present, for helping to make this release possible.
127 --------------------------------------------------------------------------
128
129 \f
130 Copyright (C) 2017 Free Software Foundation, Inc.
131
132 Copying and distribution of this file, with or without modification,
133 are permitted in any medium without royalty provided the copyright
134 notice and this notice are preserved.
This page took 0.193865 seconds and 5 git commands to generate.