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