view admin/make-tarball.txt @ 73332:56f58b643a80

Merge from upstream, upto version 5.22. After 5.0: `cperl-add-tags-recurse-noxs-fullpath': new function (for -batch mode) Fine-grained changelog: `cperl-hook-after-change': New configuration variable `cperl-vc-sccs-header': Likewise. `cperl-vc-sccs-header': Likewise. `cperl-vc-header-alist': Default via two preceding variables `cperl-invalid-face': Remove double quoting under XEmacs (still needed under 21.2) `cperl-tips': Update URLs for resources `cperl-problems': Likewise. `cperl-praise': Mention new features New C-c key bindings: for `cperl-find-bad-style', `cperl-pod-spell', `cperl-here-doc-spell', `cperl-narrow-to-here-doc', `cperl-perdoc', `cperl-perldoc-at-point' CPerl Mode menu changes: "Fix style by spaces", "Imenu on Perl Info" moved, new submenu of Tools with Ispell entries and narrowing. `cperl-after-sub-regexp': New defsubst `cperl-imenu--function-name-regexp-perl': Use `cperl-after-sub-regexp', Allows heads up to head4 Allow "package;" `defun-prompt-regexp': Use `cperl-after-sub-regexp', `paren-backwards-message': ??? Something for XEmacs??? `cperl-mode': Never auto-switch abbrev-mode off Try to allow '_' be non-word char Do not use `font-lock-unfontify-region-function' on XEmacs Reset syntax cache on mode start Support multiline facification (even on legacy `font-lock') `cperl-facemenu-add-face-function': ??? Some contributed code ??? `cperl-after-change-function': Since `font-lock' and `lazy-lock' refuse to inform us whether the fontification is due to lazy calling or due to edit to a buffer, install our own hook (controlled by `cperl-hook-after-change') `cperl-electric-pod': =cut may have been recognized as start `cperl-block-p': Moved, updated for attributes `cperl-calculate-indent': Try to allow '_' be non-word char Support subs with attributes `cperl-where-am-i': Queit (?) a warning `cperl-cached-syntax-table' New function `cperl-forward-re': Use `cperl-cached-syntax-table' `cperl-unwind-to-safe': Recognize `syntax-type' property changing in a middle of line `cperl-find-sub-attrs': New function `cperl-find-pods-heres': Allow many <<EOP per line Allow subs with attributes Major speedups (3.5x..15x on a real-life test file nph-proxy.pl) Recognize "extproc " (OS/2) case-folded and only at start /x on s///x with empty replacement was not recognized Better comments `cperl-after-block-p': Remarks on diff with `cperl-block-p' Allow subs with attributes, labels Do not confuse "else::foo" with "else" Minor optimizations... `cperl-after-expr-p': Try to allow '_' be non-word char `cperl-fill-paragraph': Try to detect a major bug in Emacs with `looking-at' inside `narrow' and bulk out if found `cperl-imenu--create-perl-index': Updates for new `cperl-imenu--function-name-regexp-perl' `cperl-outline-level': Likewise `cperl-init-faces': Allow multiline subroutine headers and my/our declarations, and ones with comments Allow subroutine attributes `cperl-imenu-on-info': Better docstring. `cperl-etags' Rudimentary support for attributes Support for packages and "package;" `cperl-add-tags-recurse-noxs': Better (?) docstring `cperl-add-tags-recurse-noxs-fullpath': Likewise `cperl-tags-hier-init': Misprint for `fboundp' fixed `cperl-not-bad-style-regexp': Try to allow '_' be non-word char `cperl-perldoc': Add autoload `cperl-perldoc-at-point': Likewise `cperl-here-doc-spell': New function `cperl-pod-spell': Likewise `cperl-map-pods-heres': Likewise `cperl-get-here-doc-region': Likewise `cperl-font-lock-fontify-region-function': Likewise (backward compatibility for legacy `font-lock') `cperl-font-lock-unfontify-region-function': Fix style `cperl-fontify-syntaxically': Recognize and optimize away deferred calls with no-change. Governed by `cperl-hook-after-change' `cperl-fontify-update': Recognize that syntaxification region can be larger than fontification one. XXXX we leave `cperl-postpone' property, so this is quadratic... `cperl-fontify-update-bad': Temporary placeholder until it is clear how to implement `cperl-fontify-update'. `cperl-time-fontification': New function `attrib-group': New text attribute `multiline': New value: `syntax-type' text attribute
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 11 Oct 2006 06:47:35 +0000
parents 9b288e127305
children 52051ccbb0d0 e6bf73e43cf4
line wrap: on
line source

Instructions to create pretest or release tarballs.
-- originally written by Gerd Moellmann, amended by Francesco Potort́
   with the initial help of Eli Zaretskii

For each step, check for possible errors.

1.   cvs -q update -Pd

2.  Bootstrap to make 100% sure all elc files are up-to-date, and to
    make sure that the later tagged version will bootstrap, should it be
    necessary to check it out.

3.  Regenerate Emacs' AUTHORS file (M-x load-file RET
    lisp/emacs-lisp/authors.el RET, then M-x authors RET, then save
    the *Authors* buffer).  This may require fixing syntactically
    incorrect ChangeLog entries beforehand.

4.  Set the version number (M-x load-file RET admin/admin.el RET, then
    M-x set-version RET).  For a release, add released change log
    entries (M-x add-release-logs RET).

5.   rm configure; make bootstrap

6.  Commit configure, README, AUTHORS, lisp/cus-load.el,
    lisp/finder-inf.el, lisp/version.el, man/emacs.texi,
    lispref/elisp.texi.  Copy lisp/loaddefs.el to lisp/ldefs-boot.el
    and commit lisp/ldefs-boot.el.  For a release, also commit the
    ChangeLog files in all directories.

7.   make-dist --snapshot.  Check the contents of the new tar with
     admin/diff-tar-files against an older tar file.  Some old pretest
    tarballs are kept under fencepost.gnu.org:~pot/emacs-pretest/, while
    old emacs tarballs are at <ftp://ftp.gnu.org/pub/gnu/emacs/>.

8.   xdelta delta emacs-OLD.tar.gz emacs-NEW.tar.gz emacs-OLD-NEW.xdelta

9.   tar -zxf emacs-NEW.tar.gz; cd emacs-NEW
     ./configure && make && make -n install
    Use `script' or M-x compile to save the compilation log in
    compile-NEW.log and compare it against an old one.  The easiest way
    to do that is to visit the old log in Emacs, change the version
    number of the old Emacs to __, do the same with the new log and do
    M-x ediff.  Especially check that Info files aren't built.

10.  cd EMACS_ROOT_DIR; cvs tag TAG
    TAG is EMACS_PRETEST_XX_YY_ZZZ for a pretest, EMACS_XX_YY for a
    release.

11.  admin/make-announcement OLD NEW
    This creates an announcement for pretests.  OLD is the version used
    to make deltas with respect to NEW.  Announcements for releases need
    to be crafted by hand.  Use an older announcement to start with:
    look in ssh://fencepost.gnu.org/~pot/emacs-tarballs/.

12. Now you should upload the files to the GNU ftp server.  In order to
    do that, you must be registered as an Emacs maintainer and have your
    GPG key acknowledged by the ftp people.  Mail <ftp-upload@gnu.org>
    for instructions.  Once you are there, for each file FILE to be
    released, create a detached GPG binary signature and a clearsigned
    directive file like this:
     gpg -b FILE
     echo directory: emacs/pretest > FILE.directive      (for a pretest)
     echo directory: emacs > FILE.directive              (for a release)
     gpg --clearsign FILE.directive
    Upload by anonymous ftp to ftp://ftp-upload.gnu.org/incoming/ftp/
    the files FILE, FILE.sig, FILE.directive.asc

13. After five minutes, verify that the files are visible at
    ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, at
    ftp://ftp.gnu.org/gnu/emacs/ for a release.

14. For a pretest, let Richard Stallman <rms@gnu.org> know about the new pretest and
    tell him to announce it using the announcement you prepared.  Remind
    him to set a Reply-to header to <emacs-pretest-bug@gnu.org>.
    For a release, Richard should prepare the announcement himself,
    possibly starting from a previous announcment.

# arch-tag: c23c771f-ca26-4584-8a04-50ecf0989390