Commit | Line | Data |
---|---|---|
78b2179a NC |
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 | ||
ef336cb0 | 48 | 3. In the branch sources: |
78b2179a | 49 | |
ef336cb0 NC |
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 | ||
8071ec09 NC |
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: | |
ef336cb0 | 67 | ./src-release -b -g -l -x binutils |
8071ec09 NC |
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 | |
ef336cb0 | 75 | files, and remove them). |
78b2179a NC |
76 | |
77 | FIXME: The tarballs will contain spurious autom4te.cache | |
78 | directories which could be removed to reduce their size. | |
79 | ||
ef336cb0 NC |
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]. | |
78b2179a | 82 | |
ef336cb0 | 83 | 5. Upload the tarballs to ftp.gnu.org. |
78b2179a NC |
84 | |
85 | gnupload --to ftp.gnu.org:binutils binutils-X.XX.X.tar.* | |
86 | ||
ef336cb0 | 87 | The gnupload script is in the gnulib/build-aux directory. |
78b2179a | 88 | |
ef336cb0 | 89 | 6. Upload the tarballs to sourceware.org: |
78b2179a NC |
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 | |
ef336cb0 | 98 | step 5) be uploaded as well ? |
78b2179a | 99 | |
ef336cb0 | 100 | 7. Update web pages. For sourceware.org: |
78b2179a NC |
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 | ||
ef336cb0 NC |
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: | |
78b2179a NC |
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 | |
219d1afa | 130 | Copyright (C) 2017-2018 Free Software Foundation, Inc. |
78b2179a NC |
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. |