"Fossies" - the Fresh Open Source Software Archive

Member "emacs-25.3/admin/release-process" (27 Nov 2016, 11173 Bytes) of package /linux/misc/emacs-25.3.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the last Fossies "Diffs" side-by-side code changes report for "release-process": 25.1_vs_25.2.

    1 This document describes the release process used by GNU Emacs.
    2 
    3 * RELEASE CYCLE
    4 
    5 Each release cycle will be split into two periods.
    6 
    7 ** Phase one: development
    8 
    9 The first phase of the release schedule is the "heads-down" working
   10 period for new features, on the 'master' branch and any needed feature
   11 branches.
   12 
   13 ** Phase two: fixing and stabilizing the release branch
   14 
   15 Shortly before this phase, Emacs developers will be devoted to
   16 figuring out what features to include in the next release and what
   17 features to defer to a later release.
   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 
   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 Each chapter of the two main manuals, the User Manual and the Emacs
   33 Lisp Manual, should be proofread, preferably by at least two people.
   34 This job is so big that it should be considered a collective
   35 responsibility, not fobbed off on just a few people.  After each
   36 chapter is checked, mark off the name(s) of those who checked it in
   37 the checklist near the end of this file.
   38 
   39 In parallel to this phase, 'master' can receive new features, to be
   40 released in the next release cycle.  From time to time, the master
   41 branches merges bugfix commits from the "emacs-NN" branch.
   42 See admin/gitmerge.el.
   43 
   44 * RELEASE-CRITICAL BUGS
   45 
   46 Emacs uses the "blocking" feature of Debbugs for bugs that need to be
   47 addressed in the next release.
   48 
   49 Currently, bug#21966 is the tracking bug for release of 25.2 and
   50 bug#24655 is the tracking bug for release 26.1.  Say bug#123 needs
   51 to be fixed for Emacs 26.1.  Send a message to control@debbugs.gnu.org
   52 that says:
   53 
   54    block 24655 by 123
   55 
   56 Change "block" to "unblock" to remove a bug from the list.  Closed
   57 bugs are not listed as blockers, so you do not need to explicitly
   58 unblock one that has been closed.  You may need to force an update of
   59 the tracking bug with ctrl-f5/shift-reload to see the latest version.
   60 
   61 
   62 * TO BE DONE SHORTLY BEFORE RELEASE
   63 
   64 See 'admin/make-tarball.txt' for the details of making a release or pretest.
   65 
   66 ** Make sure the Copyright date reflects the current year in all source files.
   67 (This should be done each January anyway, regardless of releases.)
   68 See admin/update-copyright and admin.el's set-copyright.
   69 For more details, see 'admin/notes/years'.
   70 
   71 ** Make sure the necessary sources and scripts for any generated files
   72 are included in the source tarball.  (They don't need to be installed,
   73 so e.g. admin/ is fine.)  This is important for legal compliance.
   74 
   75 ** Remove temporary +++/--- lines in NEWS.
   76 But first make sure there are no unmarked entries, and update the
   77 documentation (or decide no updates are necessary) for those that aren't.
   78 
   79 ** Try to reorder NEWS: most important things first, related items together.
   80 
   81 ** For a major release, add a "New in Emacs XX" section to faq.texi.
   82 
   83 ** cusver-check from admin.el can help find new defcustoms missing
   84 :version tags.
   85 
   86 ** Manuals
   87 Check for node names using problematic characters:
   88   find doc -name '*.texi' -exec grep '^@node[^,]*[:.()]' {} +
   89 Sadly makeinfo does not warn about such characters.
   90 
   91 Check for major new features added since the last release (e.g. new
   92 lisp files), and add the relevant authors to the Acknowledgments in
   93 doc/emacs/ack.texi and emacs.texi.
   94 
   95 For major releases, rewrite the "Antinews" appendix of the User Manual
   96 (doc/emacs/anti.texi) to describe features lost by downgrading to the
   97 previous version.  The way to do that is read NEWS, pick up the more
   98 significant changes and new features in the upcoming release, then
   99 describe the "benefits" from losing those features.  Be funny, use
  100 humor.  The text written for the previous releases can serve as an example.
  101 
  102 Check cross-references between the manuals (e.g. from emacs to elisp)
  103 are correct.  You can use something like the following in the info
  104 directory in the Emacs build tree:
  105 
  106 emacs -Q --eval "(progn (require 'info) (setq Info-directory-list '(\".\")))" \
  107   -f info-xref-check-all
  108 
  109 Setting Info-directory-list avoids having system info pages confuse
  110 things.  References to external manuals will be flagged as
  111 uncheckable.  You should still check these, and also that each
  112 external manual has an appropriate redirect in the file manual/.htaccess
  113 in the web pages repository.  E.g.:
  114 Redirect /software/emacs/manual/html_mono/automake.html /software/automake/manual/automake.html
  115 Redirect /software/emacs/manual/html_node/automake/ /software/automake/manual/html_node/
  116 
  117 Another tool you can use to check links is gnu.org's linc.py:
  118 http://www.gnu.org/server/source/
  119 
  120 You run this with something like:
  121 
  122 cd /path/to/cvs/emacs-www
  123 linc.py -o /path/to/output-dir --url http://www.gnu.org/software/emacs/ .
  124 
  125 Be warned that it is really, really slow (as in, can take ~ a full day
  126 to check the manual/ directory).  It is probably best to run it on a
  127 single directory at a time from e.g. manual/html_node.  It is very
  128 inefficient, but may reveal a few things that info-xref does not.
  129 
  130 make emacs.dvi, elisp.dvi, and deal with any errors (undefined
  131 references etc) in the output.  Break any overfull lines.
  132 Underfull hboxes are not serious, but it can be nice to get rid of
  133 them if a simple rephrasing or rearrangement will work.
  134 
  135 Update the master menu and detailed menu (e.g. the antinews version).
  136 The command texinfo-multiple-files-update can do this, but you
  137 probably want to apply the results selectively (e.g. the current master
  138 menu has better line-breaks than the automatic version).  It includes
  139 the menu-entry name (if there is one) as well as the node name - using
  140 only the latter looks better.  Also, it doesn't seem to handle nested
  141 includes, so will miss edebug.texi etc.
  142 
  143 Check for widow and orphan lines in the printed manual; make sure all
  144 the pages really look OK in the manual as formatted.  Orphans/widows
  145 are cases where the first/last line of a paragraph is on its own at
  146 the end/start of a page, or where the last word in a paragraph is on
  147 its own at the start of a line.  It looks better if you reword/respace
  148 things to avoid these.  (AFAIK, there is no way to find these except
  149 paging through the whole manual.)  This should be the very last thing
  150 you do, since any change can alter the layout.
  151 (Actually, there is probably little point in trying to do this.
  152 It's only really relevant if printed versions of the manuals are going
  153 to be published.  End-users are not likely to print out all 1000+
  154 pages of the manuals, and even if they do, the resulting page breaks
  155 depend on what paper and font size they use.  This also means that if
  156 you _are_ going to do this, it should be done with the paper and font
  157 size that the GNU Press are going to use when they print the manuals.
  158 I think this is different to what you get if you just use e.g. 'make
  159 emacs.pdf' (e.g., enable "smallbook").
  160 
  161 ** Check the keybindings in the refcards are correct, and add any new ones.
  162 What paper size are the English versions supposed to be on?
  163 On Debian testing, the packages texlive-lang-czechslovak and
  164 texlive-lang-polish will let you generate the cs-* and sk-* pdfs.
  165 (You may need texlive-lang-cyrillic, texlive-lang-german for others.)
  166 The Makefile rules did not work for me, I had to use something like:
  167 csplain -output-format=pdf cs-refcard
  168 
  169 ** Ask maintainers of refcard translations to update them.
  170 
  171 Emacs 22 translators:
  172 
  173 LANG	Translator            Status
  174 cs	Pavel Janík
  175 de	Sven Joachim
  176 fr	Eric Jacoboni
  177 pl	Włodek Bzyl
  178 pt-br	Rodrigo Real
  179 ru	Alex Ott
  180 sk	Miroslav Vaško
  181 
  182 * BUGS
  183 
  184 ** Check for modes which bind M-s that conflicts with a new global binding M-s
  185 and change key bindings where necessary.  The current list of modes:
  186 
  187 1. Gnus binds 'M-s' to 'gnus-summary-search-article-forward'.
  188 
  189 2. Minibuffer binds 'M-s' to 'next-matching-history-element'
  190    (not useful any more since C-s can now search in the history).
  191 
  192 3. 'center-line' in Text mode was already moved to the text formatting
  193    keymap as 'M-o M-s' (thus this binding is not necessary any more
  194    in 'nroff-mode-map' too and can be removed now from the nroff mode
  195    because it can now use the global key binding 'M-o M-s' 'center-line').
  196 
  197 4. PCL-CVS binds 'M-s' to 'cvs-status', and log-edit-mode binds it to
  198    'log-edit-comment-search-forward'.  Perhaps search commands
  199    on the global key binding 'M-s' are useless in these modes.
  200 
  201 5. Rmail binds '\es' to 'rmail-search'/'rmail-summary-search'.
  202 
  203 
  204 * DOCUMENTATION
  205 
  206 ** Check the Emacs Tutorial.
  207 
  208 The first line of every tutorial must begin with text ending in a
  209 period (".", ASCII 0x2E) saying "Emacs Tutorial" in the respective
  210 language. This should be followed by "See end for copying conditions",
  211 likewise in the respective language.
  212 
  213 After each file name, on the same line or the following line, come the
  214 names of the people who have checked it.
  215 
  216 SECTION                  READERS
  217 ----------------------------------
  218 TUTORIAL
  219 TUTORIAL.bg
  220 TUTORIAL.cn
  221 TUTORIAL.cs
  222 TUTORIAL.de
  223 TUTORIAL.eo
  224 TUTORIAL.es
  225 TUTORIAL.fr
  226 TUTORIAL.he
  227 TUTORIAL.it
  228 TUTORIAL.ja
  229 TUTORIAL.ko
  230 TUTORIAL.nl
  231 TUTORIAL.pl
  232 TUTORIAL.pt_BR
  233 TUTORIAL.ro
  234 TUTORIAL.ru
  235 TUTORIAL.sk
  236 TUTORIAL.sl
  237 TUTORIAL.sv
  238 TUTORIAL.th
  239 TUTORIAL.zh
  240 
  241 ** Check the manual.
  242 
  243 abbrevs.texi 		Steve Byrne
  244 ack.texi
  245 anti.texi
  246 arevert-xtra.texi
  247 basic.texi
  248 buffers.texi
  249 building.texi
  250 calendar.texi
  251 cal-xtra.texi
  252 cmdargs.texi
  253 commands.texi
  254 custom.texi
  255 dired.texi
  256 dired-xtra.texi
  257 display.texi
  258 emacs.texi
  259 emacs-xtra.texi
  260 emerge-xtra.texi
  261 entering.texi
  262 files.texi
  263 fixit.texi
  264 fortran-xtra.texi
  265 frames.texi
  266 glossary.texi
  267 help.texi
  268 indent.texi
  269 killing.texi
  270 kmacro.texi
  271 macos.texi
  272 maintaining.texi
  273 mark.texi
  274 mini.texi
  275 misc.texi
  276 modes.texi
  277 msdos.texi
  278 msdos-xtra.texi
  279 mule.texi
  280 m-x.texi
  281 package.texi
  282 picture-xtra.texi
  283 programs.texi
  284 regs.texi
  285 rmail.texi
  286 screen.texi
  287 search.texi
  288 sending.texi
  289 text.texi
  290 trouble.texi
  291 vc-xtra.texi
  292 vc1-xtra.texi
  293 windows.texi
  294 xresources.texi
  295 
  296 ** Check the Lisp manual.
  297 
  298 abbrevs.texi 		Steve Byrne
  299 anti.texi
  300 back.texi
  301 backups.texi
  302 buffers.texi
  303 commands.texi
  304 compile.texi
  305 control.texi
  306 customize.texi
  307 debugging.texi
  308 display.texi
  309 edebug.texi
  310 elisp.texi
  311 errors.texi
  312 eval.texi
  313 files.texi
  314 frames.texi
  315 functions.texi
  316 hash.texi
  317 help.texi
  318 hooks.texi
  319 index.texi
  320 internals.texi
  321 intro.texi
  322 keymaps.texi
  323 lists.texi
  324 loading.texi
  325 macros.texi
  326 maps.texi
  327 markers.texi
  328 minibuf.texi
  329 modes.texi
  330 nonascii.texi
  331 numbers.texi
  332 objects.texi
  333 os.texi
  334 package.texi
  335 positions.texi
  336 processes.texi
  337 searching.texi
  338 sequences.texi
  339 streams.texi
  340 strings.texi
  341 symbols.texi
  342 syntax.texi
  343 text.texi
  344 tips.texi
  345 variables.texi
  346 windows.texi
  347 
  348 * OTHER INFORMATION
  349 
  350 For Emacs's versioning scheme, see 'admin/notes/versioning'.
  351 
  352 For instructions to create pretest or release tarballs, announcements,
  353 etc., see 'admin/make-tarball.txt'.
  354 
  355 
  356 Local variables:
  357 mode: outline
  358 coding: utf-8
  359 end: