2002-12-05 12:40:56 +00:00
|
|
|
|
Instructions to create pretest or release tarballs.
|
2004-02-26 09:34:52 +00:00
|
|
|
|
-- originally written by Gerd Moellmann, amended by Francesco Potort<72>
|
|
|
|
|
with the initial help of Eli Zaretskii
|
2002-12-05 12:40:56 +00:00
|
|
|
|
|
|
|
|
|
For each step, check for possible errors.
|
|
|
|
|
|
2010-10-22 03:28:21 +00:00
|
|
|
|
1. `bzr update' (for a bound branch), or `bzr pull'.
|
|
|
|
|
bzr status # check for locally modified files
|
2002-12-05 12:40:56 +00:00
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
2007-09-09 11:55:09 +00:00
|
|
|
|
3. Regenerate Emacs' etc/AUTHORS file (M-x load-file RET
|
2003-09-29 10:08:11 +00:00
|
|
|
|
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
|
2002-12-05 12:40:56 +00:00
|
|
|
|
M-x set-version RET). For a release, add released change log
|
|
|
|
|
entries (M-x add-release-logs RET).
|
|
|
|
|
|
2009-02-03 04:04:15 +00:00
|
|
|
|
For a pretest, start at version .90. After .99, use .990 (so that
|
|
|
|
|
it sorts).
|
|
|
|
|
|
2009-07-11 10:40:30 +00:00
|
|
|
|
If needed, increment the value of the variable
|
|
|
|
|
`customize-changed-options-previous-release' in cus-edit.el to
|
|
|
|
|
refer to a newer release of Emacs. (This is probably needed only
|
|
|
|
|
when preparing a major Emacs release, or branching for it.)
|
|
|
|
|
|
2011-03-20 23:58:23 +00:00
|
|
|
|
5. Edit configure.in so that maintainer-mode is off by default.
|
2011-03-25 07:17:23 +00:00
|
|
|
|
(FIXME - need to find a better way of dealing with this.
|
|
|
|
|
Or maybe it's fine and indeed correct to leave it on?
|
|
|
|
|
See http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg00859.html
|
|
|
|
|
and subsequent.)
|
2011-03-20 23:58:23 +00:00
|
|
|
|
|
Remove some files that autoreconf can supply.
Ref: http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg00863.html
* compile, config.guess, config.sub, depcomp, install-sh, missing:
Remove; autoreconf can supply them.
* Makefile.in (sync-from-gnulib): Don't sync config.sub,
config.guess, install-sh. Pass -i to autoreconf.
* autogen/update_autogen (genfiles): Add compile, config.guess,
config.sub, depcomp, install-sh, missing. Pass -i to autoreconf.
Discard non-error output from autoreconf in -q case.
* autogen/compile, autogen/config.guess, autogen/config.sub:
* autogen/depcomp, autogen/install-sh, autogen/missing: New files.
* autogen/copy_autogen: Add compile, config.guess, config.sub, depcomp,
install-sh, missing.
* autogen/README: Add compile, config.guess, config.sub, depcomp,
install-sh, missing.
* INSTALL.BZR, admin/make-tarball.txt: Add -i to autoreconf args.
* .bzrignore: Add compile, config.guess, config.sub, depcomp,
install-sh, missing.
2011-03-25 07:14:31 +00:00
|
|
|
|
autoreconf -i -I m4 --force
|
2009-07-11 10:40:30 +00:00
|
|
|
|
make bootstrap
|
2002-12-05 12:40:56 +00:00
|
|
|
|
|
2011-03-20 23:58:23 +00:00
|
|
|
|
6. Commit etc/AUTHORS, all the files changed by M-x set-version, and
|
|
|
|
|
lisp/cus-edit.el (if modified).
|
2010-10-22 03:28:21 +00:00
|
|
|
|
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.
|
2002-12-05 12:40:56 +00:00
|
|
|
|
|
2005-02-06 22:32:31 +00:00
|
|
|
|
7. make-dist --snapshot. Check the contents of the new tar with
|
2009-07-11 10:40:30 +00:00
|
|
|
|
admin/diff-tar-files against an older tar file. Some old pretest
|
2010-10-22 03:28:21 +00:00
|
|
|
|
tarballs may be found at <ftp://alpha.gnu.org/gnu/emacs/pretest>;
|
|
|
|
|
old release tarballs are at <ftp://ftp.gnu.org/pub/gnu/emacs/>.
|
2002-12-05 12:40:56 +00:00
|
|
|
|
|
2009-02-04 03:42:04 +00:00
|
|
|
|
If this is the first pretest of a major release, just comparing
|
|
|
|
|
with the previous release may overlook many new files. You can try
|
2010-10-22 03:28:21 +00:00
|
|
|
|
something like `find . | sort' in a clean bzr tree, and compare the
|
|
|
|
|
results against the new tar contents.
|
2009-02-04 03:42:04 +00:00
|
|
|
|
|
2005-02-06 22:32:31 +00:00
|
|
|
|
8. xdelta delta emacs-OLD.tar.gz emacs-NEW.tar.gz emacs-OLD-NEW.xdelta
|
2002-12-11 10:02:23 +00:00
|
|
|
|
|
2005-02-06 22:32:31 +00:00
|
|
|
|
9. tar -zxf emacs-NEW.tar.gz; cd emacs-NEW
|
2005-04-19 09:59:29 +00:00
|
|
|
|
./configure && make && make -n install
|
2002-12-11 10:02:23 +00:00
|
|
|
|
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
|
2005-04-19 09:59:29 +00:00
|
|
|
|
M-x ediff. Especially check that Info files aren't built.
|
2002-12-11 10:02:23 +00:00
|
|
|
|
|
2011-09-26 03:40:18 +00:00
|
|
|
|
10. cd EMACS_ROOT_DIR; bzr tag TAG
|
2003-01-20 16:15:42 +00:00
|
|
|
|
TAG is EMACS_PRETEST_XX_YY_ZZZ for a pretest, EMACS_XX_YY for a
|
|
|
|
|
release.
|
2002-12-11 10:02:23 +00:00
|
|
|
|
|
2011-09-26 03:40:18 +00:00
|
|
|
|
Shortly before the release, cut the version branch also, and open
|
|
|
|
|
a Savannah support request asking for commits to the new branch to
|
|
|
|
|
be sent to the emacs-diffs mailing list (by default, the list
|
|
|
|
|
normally only gets commits to the trunk).
|
2009-06-22 07:06:29 +00:00
|
|
|
|
|
2008-09-07 20:34:05 +00:00
|
|
|
|
11. Now you should upload the files to the GNU ftp server. In order to
|
2005-02-06 22:32:31 +00:00
|
|
|
|
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>
|
2011-09-26 03:40:18 +00:00
|
|
|
|
for instructions.
|
|
|
|
|
|
|
|
|
|
You can use the gnupload script to upload each FILE, like this:
|
|
|
|
|
gnupload --to alpha.gnu.org:emacs/pretest FILE (for a pretest)
|
|
|
|
|
gnupload --to ftp.gnu.org:emacs FILE (for a release)
|
|
|
|
|
|
|
|
|
|
Instead of using gnupload, for each FILE, create a detached GPG
|
|
|
|
|
binary signature and a clearsigned directive file like this:
|
2005-02-06 22:32:31 +00:00
|
|
|
|
gpg -b FILE
|
|
|
|
|
echo directory: emacs/pretest > FILE.directive (for a pretest)
|
|
|
|
|
echo directory: emacs > FILE.directive (for a release)
|
|
|
|
|
gpg --clearsign FILE.directive
|
2006-10-13 20:47:27 +00:00
|
|
|
|
Upload by anonymous ftp to ftp://ftp-upload.gnu.org/ the files FILE,
|
|
|
|
|
FILE.sig, FILE.directive.asc.
|
|
|
|
|
For a release, place the files in the /incoming/ftp directory.
|
|
|
|
|
For a pretest, place the files in /incoming/alpha instead, so that
|
|
|
|
|
they appear on ftp://alpha.gnu.org/.
|
2005-02-06 22:32:31 +00:00
|
|
|
|
|
2008-09-07 20:34:05 +00:00
|
|
|
|
For a release, upload a bz2 tarfile as well; this can save a lot
|
|
|
|
|
of bandwidth.
|
|
|
|
|
|
|
|
|
|
12. After five minutes, verify that the files are visible at
|
2003-03-19 13:02:12 +00:00
|
|
|
|
ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, at
|
|
|
|
|
ftp://ftp.gnu.org/gnu/emacs/ for a release.
|
|
|
|
|
|
2008-09-07 20:34:05 +00:00
|
|
|
|
13. For a pretest, announce it on emacs-devel and BCC the pretesters.
|
|
|
|
|
For a release, announce it on info-gnu@gnu.org,
|
|
|
|
|
info-gnu-emacs@gnu.org, and emacs-devel.
|
2012-02-04 22:12:14 +00:00
|
|
|
|
|
|
|
|
|
14. For a release, update the Emacs homepage in the web repository.
|
|
|
|
|
Also add the new NEWS file as NEWS.xx.y.
|