"Fossies" - the Fresh Open Source Software Archive

Member "emacs-26.1/admin/release-process" (25 May 2018, 11326 Bytes) of package /linux/misc/emacs-26.1.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 latest Fossies "Diffs" side-by-side code changes report for "release-process": 25.3_vs_26.1.

    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 The Emacs FAQ (doc/misc/efaq.texi) also has a "What's new" section;
  103 for major releases a new section should be added listing the
  104 significant changes.
  105 
  106 Check cross-references between the manuals (e.g. from emacs to elisp)
  107 are correct.  You can use something like the following in the info
  108 directory in the Emacs build tree:
  109 
  110 emacs -Q --eval "(progn (require 'info) (setq Info-directory-list '(\".\")))" \
  111   -f info-xref-check-all
  112 
  113 Setting Info-directory-list avoids having system info pages confuse
  114 things.  References to external manuals will be flagged as
  115 uncheckable.  You should still check these, and also that each
  116 external manual has an appropriate redirect in the file manual/.htaccess
  117 in the web pages repository.  E.g.:
  118 Redirect /software/emacs/manual/html_mono/automake.html /software/automake/manual/automake.html
  119 Redirect /software/emacs/manual/html_node/automake/ /software/automake/manual/html_node/
  120 
  121 Another tool you can use to check links is gnu.org's linc.py:
  122 https://www.gnu.org/server/source/
  123 
  124 You run this with something like:
  125 
  126 cd /path/to/cvs/emacs-www
  127 linc.py -o /path/to/output-dir --url https://www.gnu.org/software/emacs/ .
  128 
  129 Be warned that it is really, really slow (as in, can take ~ a full day
  130 to check the manual/ directory).  It is probably best to run it on a
  131 single directory at a time from e.g. manual/html_node.  It is very
  132 inefficient, but may reveal a few things that info-xref does not.
  133 
  134 make emacs.dvi, elisp.dvi, and deal with any errors (undefined
  135 references etc) in the output.  Break any overfull lines.
  136 Underfull hboxes are not serious, but it can be nice to get rid of
  137 them if a simple rephrasing or rearrangement will work.
  138 
  139 Update the master menu and detailed menu (e.g. the antinews version).
  140 The command texinfo-multiple-files-update can do this, but you
  141 probably want to apply the results selectively (e.g. the current master
  142 menu has better line-breaks than the automatic version).  It includes
  143 the menu-entry name (if there is one) as well as the node name - using
  144 only the latter looks better.  Also, it doesn't seem to handle nested
  145 includes, so will miss edebug.texi etc.
  146 
  147 Check for widow and orphan lines in the printed manual; make sure all
  148 the pages really look OK in the manual as formatted.  Orphans/widows
  149 are cases where the first/last line of a paragraph is on its own at
  150 the end/start of a page, or where the last word in a paragraph is on
  151 its own at the start of a line.  It looks better if you reword/respace
  152 things to avoid these.  (AFAIK, there is no way to find these except
  153 paging through the whole manual.)  This should be the very last thing
  154 you do, since any change can alter the layout.
  155 (Actually, there is probably little point in trying to do this.
  156 It's only really relevant if printed versions of the manuals are going
  157 to be published.  End-users are not likely to print out all 1000+
  158 pages of the manuals, and even if they do, the resulting page breaks
  159 depend on what paper and font size they use.  This also means that if
  160 you _are_ going to do this, it should be done with the paper and font
  161 size that the GNU Press are going to use when they print the manuals.
  162 I think this is different to what you get if you just use e.g. 'make
  163 emacs.pdf' (e.g., enable "smallbook").
  164 
  165 ** Check the keybindings in the refcards are correct, and add any new ones.
  166 What paper size are the English versions supposed to be on?
  167 On Debian testing, the packages texlive-lang-czechslovak and
  168 texlive-lang-polish will let you generate the cs-* and sk-* pdfs.
  169 (You may need texlive-lang-cyrillic, texlive-lang-german for others.)
  170 The Makefile rules did not work for me, I had to use something like:
  171 csplain -output-format=pdf cs-refcard
  172 
  173 ** Ask maintainers of refcard translations to update them.
  174 
  175 Emacs 22 translators:
  176 
  177 LANG	Translator            Status
  178 cs	Pavel Janík
  179 de	Sven Joachim
  180 fr	Eric Jacoboni
  181 pl	Włodek Bzyl
  182 pt-br	Rodrigo Real
  183 ru	Alex Ott
  184 sk	Miroslav Vaško
  185 
  186 * BUGS
  187 
  188 ** Check for modes which bind M-s that conflicts with a new global binding M-s
  189 and change key bindings where necessary.  The current list of modes:
  190 
  191 1. Gnus binds 'M-s' to 'gnus-summary-search-article-forward'.
  192 
  193 2. Minibuffer binds 'M-s' to 'next-matching-history-element'
  194    (not useful any more since C-s can now search in the history).
  195 
  196 3. 'center-line' in Text mode was already moved to the text formatting
  197    keymap as 'M-o M-s' (thus this binding is not necessary any more
  198    in 'nroff-mode-map' too and can be removed now from the nroff mode
  199    because it can now use the global key binding 'M-o M-s' 'center-line').
  200 
  201 4. PCL-CVS binds 'M-s' to 'cvs-status', and log-edit-mode binds it to
  202    'log-edit-comment-search-forward'.  Perhaps search commands
  203    on the global key binding 'M-s' are useless in these modes.
  204 
  205 5. Rmail binds '\es' to 'rmail-search'/'rmail-summary-search'.
  206 
  207 
  208 * DOCUMENTATION
  209 
  210 ** Check the Emacs Tutorial.
  211 
  212 The first line of every tutorial must begin with text ending in a
  213 period (".", ASCII 0x2E) saying "Emacs Tutorial" in the respective
  214 language. This should be followed by "See end for copying conditions",
  215 likewise in the respective language.
  216 
  217 After each file name, on the same line or the following line, come the
  218 names of the people who have checked it.
  219 
  220 SECTION                  READERS
  221 ----------------------------------
  222 TUTORIAL
  223 TUTORIAL.bg
  224 TUTORIAL.cn
  225 TUTORIAL.cs
  226 TUTORIAL.de
  227 TUTORIAL.eo
  228 TUTORIAL.es
  229 TUTORIAL.fr
  230 TUTORIAL.he
  231 TUTORIAL.it
  232 TUTORIAL.ja
  233 TUTORIAL.ko
  234 TUTORIAL.nl
  235 TUTORIAL.pl
  236 TUTORIAL.pt_BR
  237 TUTORIAL.ro
  238 TUTORIAL.ru
  239 TUTORIAL.sk
  240 TUTORIAL.sl
  241 TUTORIAL.sv
  242 TUTORIAL.th
  243 TUTORIAL.zh
  244 
  245 ** Check the manual.
  246 
  247 abbrevs.texi 		Steve Byrne
  248 ack.texi
  249 anti.texi
  250 arevert-xtra.texi
  251 basic.texi
  252 buffers.texi
  253 building.texi
  254 calendar.texi
  255 cal-xtra.texi
  256 cmdargs.texi
  257 commands.texi
  258 custom.texi
  259 dired.texi
  260 dired-xtra.texi
  261 display.texi
  262 emacs.texi
  263 emacs-xtra.texi
  264 emerge-xtra.texi
  265 entering.texi
  266 files.texi
  267 fixit.texi
  268 fortran-xtra.texi
  269 frames.texi
  270 glossary.texi
  271 help.texi
  272 indent.texi
  273 killing.texi
  274 kmacro.texi
  275 macos.texi
  276 maintaining.texi
  277 mark.texi
  278 mini.texi
  279 misc.texi
  280 modes.texi
  281 msdos.texi
  282 msdos-xtra.texi
  283 mule.texi
  284 m-x.texi
  285 package.texi
  286 picture-xtra.texi
  287 programs.texi
  288 regs.texi
  289 rmail.texi
  290 screen.texi
  291 search.texi
  292 sending.texi
  293 text.texi
  294 trouble.texi
  295 vc-xtra.texi
  296 vc1-xtra.texi
  297 windows.texi
  298 xresources.texi
  299 
  300 ** Check the Lisp manual.
  301 
  302 abbrevs.texi 		Steve Byrne
  303 anti.texi
  304 back.texi
  305 backups.texi
  306 buffers.texi
  307 commands.texi
  308 compile.texi
  309 control.texi
  310 customize.texi
  311 debugging.texi
  312 display.texi
  313 edebug.texi
  314 elisp.texi
  315 errors.texi
  316 eval.texi
  317 files.texi
  318 frames.texi
  319 functions.texi
  320 hash.texi
  321 help.texi
  322 hooks.texi
  323 index.texi
  324 internals.texi
  325 intro.texi
  326 keymaps.texi
  327 lists.texi
  328 loading.texi
  329 macros.texi
  330 maps.texi
  331 markers.texi
  332 minibuf.texi
  333 modes.texi
  334 nonascii.texi
  335 numbers.texi
  336 objects.texi
  337 os.texi
  338 package.texi
  339 positions.texi
  340 processes.texi
  341 searching.texi
  342 sequences.texi
  343 streams.texi
  344 strings.texi
  345 symbols.texi
  346 syntax.texi
  347 text.texi
  348 tips.texi
  349 variables.texi
  350 windows.texi
  351 
  352 * OTHER INFORMATION
  353 
  354 For Emacs's versioning scheme, see 'admin/notes/versioning'.
  355 
  356 For instructions to create pretest or release tarballs, announcements,
  357 etc., see 'admin/make-tarball.txt'.
  358 
  359 
  360 Local variables:
  361 mode: outline
  362 coding: utf-8
  363 end: