diff options
| author | Eli Zaretskii | 2015-11-18 21:33:12 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2015-11-18 21:33:12 +0200 |
| commit | 9328e3d0ea374ab2d99a311cbf6f9db75cf718bf (patch) | |
| tree | 952b1024f1d9c392337bdb5edf0388ada86ff107 /admin | |
| parent | 955e25dbcd0519d115f58b275923a71c04579e83 (diff) | |
| download | emacs-9328e3d0ea374ab2d99a311cbf6f9db75cf718bf.tar.gz emacs-9328e3d0ea374ab2d99a311cbf6f9db75cf718bf.zip | |
; * admin/release-process: Minor copyedits and additions.
Diffstat (limited to 'admin')
| -rw-r--r-- | admin/release-process | 71 |
1 files changed, 46 insertions, 25 deletions
diff --git a/admin/release-process b/admin/release-process index c403698079d..d0b55badab0 100644 --- a/admin/release-process +++ b/admin/release-process | |||
| @@ -10,21 +10,31 @@ The first phase of the release schedule is the "heads-down" working | |||
| 10 | period for new features, on the `master' branch and several feature | 10 | period for new features, on the `master' branch and several feature |
| 11 | branches. | 11 | branches. |
| 12 | 12 | ||
| 13 | ** Phase two: bugfixes | 13 | ** Phase two: fixing and stabilizing the release branch |
| 14 | 14 | ||
| 15 | Shortly before this phase, Emacs developers will be devoted to | 15 | Shortly before this phase, Emacs developers will be devoted to |
| 16 | figuring out what features to include in the next release and what | 16 | figuring out what features to include in the next release and what |
| 17 | features to defer to a later release. | 17 | features to defer to a later release. |
| 18 | 18 | ||
| 19 | At the beginning of this phase, a release branch called "emacs-NN" | 19 | This phase is mostly spent fixing bugs and documenting new features |
| 20 | ("NN" represents the major version number of the new Emacs release) | 20 | and changes on the "emacs-NN" branch. Actually, the default branch |
| 21 | will be cut from `master'. | ||
| 22 | |||
| 23 | This phase is mostly spent fixing bugs and eliminating undocumented | ||
| 24 | new features on the "emacs-NN" branch. Actually, the default branch | ||
| 25 | for pushing any work in this phase should be "emacs-NN", except for | 21 | for pushing any work in this phase should be "emacs-NN", except for |
| 26 | new features. | 22 | new features. |
| 27 | 23 | ||
| 24 | At the beginning of this phase, a release branch called "emacs-NN" | ||
| 25 | ("NN" represents the major version number of the new Emacs release) | ||
| 26 | will be cut from `master'. When that happens, the version number on | ||
| 27 | `master' should be incremented; use admin/admin.el's `set-version' | ||
| 28 | command to do that, then commit the changes it made and push to | ||
| 29 | `master'. For major releases, also update the value of | ||
| 30 | `customize-changed-options-previous-release'. | ||
| 31 | |||
| 32 | The 2 main manuals, the User Manual and the Emacs Lisp Manual, need to | ||
| 33 | be proofread, preferably by at least 2 different persons, and any | ||
| 34 | uncovered problems fixed. This is a lot of work, so it is advisable | ||
| 35 | to divide the job between several people (see the checklist near the | ||
| 36 | end of this file). | ||
| 37 | |||
| 28 | In parallel to this phase, `master' can receive new features, to be | 38 | In parallel to this phase, `master' can receive new features, to be |
| 29 | released in the next release cycle. From time to time, the master | 39 | released in the next release cycle. From time to time, the master |
| 30 | branches merges bugfix commits from the "emacs-NN" branch. | 40 | branches merges bugfix commits from the "emacs-NN" branch. |
| @@ -49,8 +59,16 @@ files. See `admin/notes/years' for information about maintaining | |||
| 49 | copyright years for GNU Emacs. | 59 | copyright years for GNU Emacs. |
| 50 | 60 | ||
| 51 | ** Make sure the necessary sources and scripts for any generated files | 61 | ** Make sure the necessary sources and scripts for any generated files |
| 52 | are included in the source tarfile. (They don't need to be installed, | 62 | are included in the source tarball. (They don't need to be installed, |
| 53 | so eg admin/ is fine.) | 63 | so e.g. admin/ is fine.) |
| 64 | |||
| 65 | ** Regenerate AUTHORS by using admin/authors.el | ||
| 66 | (The instructions are at the beginning of that file.) | ||
| 67 | |||
| 68 | ** Remove temporary +++/--- lines in NEWS. | ||
| 69 | But first make sure there are no unmarked entries, and update the | ||
| 70 | documentation (or decide no updates are necessary) for those that | ||
| 71 | aren't. | ||
| 54 | 72 | ||
| 55 | ** Manuals | 73 | ** Manuals |
| 56 | Check for node names using problematic characters: | 74 | Check for node names using problematic characters: |
| @@ -61,7 +79,15 @@ Check for major new features added since the last release (e.g. new | |||
| 61 | lisp files), and add the relevant authors to the Acknowledgments in | 79 | lisp files), and add the relevant authors to the Acknowledgments in |
| 62 | doc/emacs/ack.texi and emacs.texi. | 80 | doc/emacs/ack.texi and emacs.texi. |
| 63 | 81 | ||
| 64 | Check cross-references between the manuals (eg from emacs to elisp) | 82 | For major releases, rewrite the "Antinews" appendix of the User Manual |
| 83 | (doc/emacs/anti.texi) to describe features lost by downgrading to the | ||
| 84 | previous version. The way to do that is read NEWS, pick up the more | ||
| 85 | significant changes and new features in the upcoming release, then | ||
| 86 | describe the "benefits" from losing those features. Be funny, use | ||
| 87 | humor. The text written for the previous major release can serve as | ||
| 88 | good example. | ||
| 89 | |||
| 90 | Check cross-references between the manuals (e.g. from emacs to elisp) | ||
| 65 | are correct. You can use something like the following in the info | 91 | are correct. You can use something like the following in the info |
| 66 | directory in the Emacs build tree: | 92 | directory in the Emacs build tree: |
| 67 | 93 | ||
| @@ -79,32 +105,31 @@ Redirect /software/emacs/manual/html_node/automake/ /software/automake/manual/ht | |||
| 79 | Another tool you can use to check links is gnu.org's linc.py: | 105 | Another tool you can use to check links is gnu.org's linc.py: |
| 80 | http://www.gnu.org/server/source/ | 106 | http://www.gnu.org/server/source/ |
| 81 | 107 | ||
| 82 | You run this something like: | 108 | You run this with something like: |
| 83 | 109 | ||
| 84 | cd /path/to/cvs/emacs-www | 110 | cd /path/to/cvs/emacs-www |
| 85 | linc.py -o /path/to/output-dir --url http://www.gnu.org/software/emacs/ . | 111 | linc.py -o /path/to/output-dir --url http://www.gnu.org/software/emacs/ . |
| 86 | 112 | ||
| 87 | Be warned that it is really, really slow (as in, can take ~ a full day | 113 | Be warned that it is really, really slow (as in, can take ~ a full day |
| 88 | to check the manual/ directory). It is probably best to run it on a | 114 | to check the manual/ directory). It is probably best to run it on a |
| 89 | single directory at a time from eg manual/html_node. It is very | 115 | single directory at a time from e.g. manual/html_node. It is very |
| 90 | inefficient, but may reveal a few things that info-xref does not. | 116 | inefficient, but may reveal a few things that info-xref does not. |
| 91 | 117 | ||
| 92 | |||
| 93 | make emacs.dvi, elisp.dvi, and deal with any errors (undefined | 118 | make emacs.dvi, elisp.dvi, and deal with any errors (undefined |
| 94 | references etc) in the output. Break any overfull lines. | 119 | references etc) in the output. Break any overfull lines. |
| 95 | Underfull hboxes are not serious, but it can be nice to get rid of | 120 | Underfull hboxes are not serious, but it can be nice to get rid of |
| 96 | them if a simple rephrasing or rearrangement will work. | 121 | them if a simple rephrasing or rearrangement will work. |
| 97 | 122 | ||
| 98 | Update the master menu and detailed menu (eg the antinews version). | 123 | Update the master menu and detailed menu (e.g. the antinews version). |
| 99 | The command texinfo-multiple-files-update can do this, but you | 124 | The command texinfo-multiple-files-update can do this, but you |
| 100 | probably want to apply the results selectively (eg the current master | 125 | probably want to apply the results selectively (e.g. the current master |
| 101 | menu has better line-breaks than the automatic version). It includes | 126 | menu has better line-breaks than the automatic version). It includes |
| 102 | the menu-entry name (if there is one) as well as the node name - using | 127 | the menu-entry name (if there is one) as well as the node name - using |
| 103 | only the latter looks better. Also, it doesn't seem to handle nested | 128 | only the latter looks better. Also, it doesn't seem to handle nested |
| 104 | includes, so will miss edebug.texi etc. | 129 | includes, so will miss edebug.texi etc. |
| 105 | 130 | ||
| 106 | Check for widow and orphan lines in the printed manual; make sure all | 131 | Check for widow and orphan lines in the printed manual; make sure all |
| 107 | the pages really look ok in the manual as formatted. Orphans/widows | 132 | the pages really look OK in the manual as formatted. Orphans/widows |
| 108 | are cases where the first/last line of a paragraph is on its own at | 133 | are cases where the first/last line of a paragraph is on its own at |
| 109 | the end/start of a page, or where the last word in a paragraph is on | 134 | the end/start of a page, or where the last word in a paragraph is on |
| 110 | its own at the start of a line. It looks better if you reword/respace | 135 | its own at the start of a line. It looks better if you reword/respace |
| @@ -118,9 +143,13 @@ pages of the manuals, and even if they do, the resulting page breaks | |||
| 118 | depend on what paper and font size they use. This also means that if | 143 | depend on what paper and font size they use. This also means that if |
| 119 | you _are_ going to do this, it should be done with the paper and font | 144 | you _are_ going to do this, it should be done with the paper and font |
| 120 | size that the GNU Press are going to use when they print the manuals. | 145 | size that the GNU Press are going to use when they print the manuals. |
| 121 | I think this is different to what you get if you just use eg 'make | 146 | I think this is different to what you get if you just use e.g. 'make |
| 122 | emacs.pdf' (e.g., enable "smallbook"). | 147 | emacs.pdf' (e.g., enable "smallbook"). |
| 123 | 148 | ||
| 149 | ** Try to reorder NEWS: most important things first, related items together. | ||
| 150 | |||
| 151 | ** For a major release, add a "New in Emacs XX" section to faq.texi. | ||
| 152 | |||
| 124 | ** Check the keybindings in the refcards are correct, and add any new ones. | 153 | ** Check the keybindings in the refcards are correct, and add any new ones. |
| 125 | What paper size are the English versions supposed to be on? | 154 | What paper size are the English versions supposed to be on? |
| 126 | On Debian testing, the packages texlive-lang-czechslovak and | 155 | On Debian testing, the packages texlive-lang-czechslovak and |
| @@ -142,14 +171,6 @@ pt-br Rodrigo Real | |||
| 142 | ru Alex Ott | 171 | ru Alex Ott |
| 143 | sk Miroslav Vaško | 172 | sk Miroslav Vaško |
| 144 | 173 | ||
| 145 | ** For a major release, add a "New in Emacs XX" section to faq.texi. | ||
| 146 | |||
| 147 | ** Remove temporary +++/--- lines in NEWS. | ||
| 148 | |||
| 149 | ** Try to reorder NEWS: most important things first, related items together. | ||
| 150 | |||
| 151 | ** Consider bumping customize-changed-options-previous-release. | ||
| 152 | |||
| 153 | ** cusver-check from admin.el can help find new defcustoms missing | 174 | ** cusver-check from admin.el can help find new defcustoms missing |
| 154 | :version tags. | 175 | :version tags. |
| 155 | 176 | ||