* admin/release-process: Rename from admin/FOR-RELEASE.
[emacs.git] / admin / release-process
blob286b90ea5282cfb239a3ddd49f55b36f8ff4ccf9
1 Tasks needed before the next release.
3 * TO BE DONE SHORTLY BEFORE RELEASE
5 ** Make sure the necessary sources and scripts for any generated files
6 are included in the source tarfile.  (They don't need to be installed,
7 so eg admin/ is fine.)
9 ** Manuals
10 Check for node names using problematic characters:
11   find doc -name '*.texi' -exec grep '^@node[^,]*[:.()]' {} +
12 Sadly makeinfo does not warn about such characters.
14 Check for major new features added since the last release (e.g. new
15 lisp files), and add the relevant authors to the Acknowledgments in
16 doc/emacs/ack.texi and emacs.texi.
18 Check cross-references between the manuals (eg from emacs to elisp)
19 are correct.  You can use something like the following in the info
20 directory in the Emacs build tree:
22 emacs -Q --eval "(progn (require 'info) (setq Info-directory-list '(\".\")))" \
23   -f info-xref-check-all
25 Setting Info-directory-list avoids having system info pages confuse
26 things.  References to external manuals will be flagged as
27 uncheckable.  You should still check these, and also that each
28 external manual has an appropriate redirect in the file manual/.htaccess
29 in the web pages repository.  E.g.:
30 Redirect /software/emacs/manual/html_mono/automake.html /software/automake/manual/automake.html
31 Redirect /software/emacs/manual/html_node/automake/ /software/automake/manual/html_node/
33 Another tool you can use to check links is gnu.org's linc.py:
34 http://www.gnu.org/server/source/
36 You run this something like:
38 cd /path/to/cvs/emacs-www
39 linc.py -o /path/to/output-dir --url http://www.gnu.org/software/emacs/ .
41 Be warned that it is really, really slow (as in, can take ~ a full day
42 to check the manual/ directory).  It is probably best to run it on a
43 single directory at a time from eg manual/html_node.  It is very
44 inefficient, but may reveal a few things that info-xref does not.
47 make emacs.dvi, elisp.dvi, and deal with any errors (undefined
48 references etc) in the output.  Break any overfull lines.
49 Underfull hboxes are not serious, but it can be nice to get rid of
50 them if a simple rephrasing or rearrangement will work.
52 Update the master menu and detailed menu (eg the antinews version).
53 The command texinfo-multiple-files-update can do this, but you
54 probably want to apply the results selectively (eg the current master
55 menu has better line-breaks than the automatic version).  It includes
56 the menu-entry name (if there is one) as well as the node name - using
57 only the latter looks better.  Also, it doesn't seem to handle nested
58 includes, so will miss edebug.texi etc.
60 Check for widow and orphan lines in the printed manual; make sure all
61 the pages really look ok in the manual as formatted.  Orphans/widows
62 are cases where the first/last line of a paragraph is on its own at
63 the end/start of a page, or where the last word in a paragraph is on
64 its own at the start of a line.  It looks better if you reword/respace
65 things to avoid these.  (AFAIK, there is no way to find these except
66 paging through the whole manual.)  This should be the very last thing
67 you do, since any change can alter the layout.
68 (Actually, there is probably little point in trying to do this.
69 It's only really relevant if printed versions of the manuals are going
70 to be published.  End-users are not likely to print out all 1000+
71 pages of the manuals, and even if they do, the resulting page breaks
72 depend on what paper and font size they use.  This also means that if
73 you _are_ going to do this, it should be done with the paper and font
74 size that the GNU Press are going to use when they print the manuals.
75 I think this is different to what you get if you just use eg 'make
76 emacs.pdf' (e.g., enable "smallbook").
78 ** Check the keybindings in the refcards are correct, and add any new ones.
79 What paper size are the English versions supposed to be on?
80 On Debian testing, the packages texlive-lang-czechslovak and
81 texlive-lang-polish will let you generate the cs-* and sk-* pdfs.
82 (You may need texlive-lang-cyrillic, texlive-lang-german for others.)
83 The Makefile rules did not work for me, I had to use something like:
84 csplain -output-format=pdf cs-refcard
86 ** Ask maintainers of refcard translations to update them.
88 Emacs 22 translators:
90 LANG    Translator            Status
91 cs      Pavel Janík
92 de      Sven Joachim
93 fr      Eric Jacoboni
94 pl      Włodek Bzyl
95 pt-br   Rodrigo Real
96 ru      Alex Ott
97 sk      Miroslav Vaško
99 ** For a major release, add a "New in Emacs XX" section to faq.texi.
101 ** Remove temporary +++/--- lines in NEWS.
103 ** Try to reorder NEWS: most important things first, related items together.
105 ** Consider bumping customize-changed-options-previous-release.
107 ** cusver-check from admin.el can help find new defcustoms missing
108 :version tags.
110 ** Add a line to etc/HISTORY for the release version number and date.
112 * BUGS
114 ** Check for modes which bind M-s that conflicts with a new global binding M-s
115 and change key bindings where necessary.  The current list of modes:
117 1. Gnus binds 'M-s' to 'gnus-summary-search-article-forward'.
119 2. Minibuffer binds 'M-s' to 'next-matching-history-element'
120    (not useful any more since C-s can now search in the history).
122 3. 'center-line' in Text mode was already moved to the text formatting
123    keymap as 'M-o M-s' (thus this binding is not necessary any more
124    in 'nroff-mode-map' too and can be removed now from the nroff mode
125    because it can now use the global key binding 'M-o M-s' 'center-line').
127 4. PCL-CVS binds 'M-s' to 'cvs-status', and log-edit-mode binds it to
128    'log-edit-comment-search-forward'.  Perhaps search commands
129    on the global key binding 'M-s' are useless in these modes.
131 5. Rmail binds '\es' to 'rmail-search'/'rmail-summary-search'.
134 * DOCUMENTATION
136 ** Check the Emacs Tutorial.
138 The first line of every tutorial must begin with text ending in a
139 period (".", ASCII 0x2E) saying "Emacs Tutorial" in the respective
140 language. This should be followed by "See end for copying conditions",
141 likewise in the respective language.
143 After each file name, on the same line or the following line, come the
144 names of the people who have checked it.
146 SECTION                  READERS
147 ----------------------------------
148 TUTORIAL             cyd
149 TUTORIAL.bg          ogi
150 TUTORIAL.cn          xfq
151 TUTORIAL.cs
152 TUTORIAL.de          wl
153 TUTORIAL.eo
154 TUTORIAL.es
155 TUTORIAL.fr
156 TUTORIAL.he          eliz
157 TUTORIAL.it
158 TUTORIAL.ja
159 TUTORIAL.ko
160 TUTORIAL.nl          Pieter Schoenmakers
161 TUTORIAL.pl
162 TUTORIAL.pt_BR
163 TUTORIAL.ro
164 TUTORIAL.ru          Alex Ott
165 TUTORIAL.sk
166 TUTORIAL.sl          Primoz PETERLIN
167 TUTORIAL.sv          Mats Lidell
168 TUTORIAL.th
169 TUTORIAL.zh
171 ** Check the manual.
173 abbrevs.texi
174 ack.texi
175 anti.texi
176 arevert-xtra.texi
177 basic.texi
178 buffers.texi
179 building.texi
180 calendar.texi
181 cal-xtra.texi
182 cmdargs.texi
183 commands.texi
184 custom.texi
185 dired.texi
186 dired-xtra.texi
187 display.texi
188 emacs.texi
189 emacs-xtra.texi
190 emerge-xtra.texi
191 entering.texi
192 files.texi
193 fixit.texi
194 fortran-xtra.texi
195 frames.texi
196 glossary.texi
197 help.texi
198 indent.texi
199 killing.texi
200 kmacro.texi
201 macos.texi
202 maintaining.texi
203 mark.texi
204 mini.texi
205 misc.texi
206 modes.texi
207 msdos.texi
208 msdos-xtra.texi
209 mule.texi
210 m-x.texi
211 package.texi
212 picture-xtra.texi
213 programs.texi
214 regs.texi
215 rmail.texi
216 screen.texi
217 search.texi
218 sending.texi
219 text.texi
220 trouble.texi
221 vc-xtra.texi
222 vc1-xtra.texi
223 windows.texi
224 xresources.texi
226 ** Check the Lisp manual.
228 abbrevs.texi
229 anti.texi
230 back.texi
231 backups.texi
232 buffers.texi
233 commands.texi
234 compile.texi
235 control.texi
236 customize.texi
237 debugging.texi
238 display.texi
239 edebug.texi
240 elisp.texi
241 errors.texi
242 eval.texi
243 files.texi
244 frames.texi
245 functions.texi
246 hash.texi
247 help.texi
248 hooks.texi
249 index.texi
250 internals.texi
251 intro.texi
252 keymaps.texi
253 lists.texi
254 loading.texi
255 macros.texi
256 maps.texi
257 markers.texi
258 minibuf.texi
259 modes.texi
260 nonascii.texi
261 numbers.texi      Paul Eggert (24.4)
262 objects.texi
263 os.texi
264 package.texi
265 positions.texi
266 processes.texi
267 searching.texi
268 sequences.texi
269 streams.texi
270 strings.texi
271 symbols.texi
272 syntax.texi
273 text.texi
274 tips.texi
275 variables.texi
276 windows.texi
279 Local variables:
280 mode: outline
281 coding: utf-8
282 end: