annotate admin/make-tarball.txt @ 112371:1a3d4c7ba327

* unexmacosx.c: Include config.h before unistd.h.
author Jan D. <jan.h.d@swipnet.se>
date Wed, 19 Jan 2011 23:13:54 +0100
parents 83d4d82b8493
children aa320544d768
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
48667
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
1 Instructions to create pretest or release tarballs.
54148
229b09cd4c04 Correct original attribution
Francesco Potortì <pot@gnu.org>
parents: 52929
diff changeset
2 -- originally written by Gerd Moellmann, amended by Francesco Potort́
229b09cd4c04 Correct original attribution
Francesco Potortì <pot@gnu.org>
parents: 52929
diff changeset
3 with the initial help of Eli Zaretskii
48667
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
4
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
5 For each step, check for possible errors.
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
6
111086
83d4d82b8493 * admin/make-tarball.txt: Misc updates.
Glenn Morris <rgm@gnu.org>
parents: 108602
diff changeset
7 1. `bzr update' (for a bound branch), or `bzr pull'.
83d4d82b8493 * admin/make-tarball.txt: Misc updates.
Glenn Morris <rgm@gnu.org>
parents: 108602
diff changeset
8 bzr status # check for locally modified files
48667
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
9
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
10 2. Bootstrap to make 100% sure all elc files are up-to-date, and to
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
11 make sure that the later tagged version will bootstrap, should it be
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
12 necessary to check it out.
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
13
84414
931690a65909 Add etc/ to AUTHORS.
Juri Linkov <juri@jurta.org>
parents: 77502
diff changeset
14 3. Regenerate Emacs' etc/AUTHORS file (M-x load-file RET
52662
d46a70300b43 Mention regenerating Emacs' AUTHORS file.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
15 lisp/emacs-lisp/authors.el RET, then M-x authors RET, then save
d46a70300b43 Mention regenerating Emacs' AUTHORS file.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
16 the *Authors* buffer). This may require fixing syntactically
d46a70300b43 Mention regenerating Emacs' AUTHORS file.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
17 incorrect ChangeLog entries beforehand.
d46a70300b43 Mention regenerating Emacs' AUTHORS file.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
18
d46a70300b43 Mention regenerating Emacs' AUTHORS file.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
19 4. Set the version number (M-x load-file RET admin/admin.el RET, then
48667
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
20 M-x set-version RET). For a release, add released change log
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
21 entries (M-x add-release-logs RET).
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
22
101762
1851b1154a27 Mention pretest version numbering.
Glenn Morris <rgm@gnu.org>
parents: 98088
diff changeset
23 For a pretest, start at version .90. After .99, use .990 (so that
1851b1154a27 Mention pretest version numbering.
Glenn Morris <rgm@gnu.org>
parents: 98088
diff changeset
24 it sorts).
1851b1154a27 Mention pretest version numbering.
Glenn Morris <rgm@gnu.org>
parents: 98088
diff changeset
25
103857
51b13818eef5 Add a note about bumping the value of
Eli Zaretskii <eliz@gnu.org>
parents: 103520
diff changeset
26 If needed, increment the value of the variable
51b13818eef5 Add a note about bumping the value of
Eli Zaretskii <eliz@gnu.org>
parents: 103520
diff changeset
27 `customize-changed-options-previous-release' in cus-edit.el to
51b13818eef5 Add a note about bumping the value of
Eli Zaretskii <eliz@gnu.org>
parents: 103520
diff changeset
28 refer to a newer release of Emacs. (This is probably needed only
51b13818eef5 Add a note about bumping the value of
Eli Zaretskii <eliz@gnu.org>
parents: 103520
diff changeset
29 when preparing a major Emacs release, or branching for it.)
51b13818eef5 Add a note about bumping the value of
Eli Zaretskii <eliz@gnu.org>
parents: 103520
diff changeset
30
111086
83d4d82b8493 * admin/make-tarball.txt: Misc updates.
Glenn Morris <rgm@gnu.org>
parents: 108602
diff changeset
31 5. rm configure src/config.in; autoconf; autoheader
103857
51b13818eef5 Add a note about bumping the value of
Eli Zaretskii <eliz@gnu.org>
parents: 103520
diff changeset
32 make bootstrap
48667
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
33
111086
83d4d82b8493 * admin/make-tarball.txt: Misc updates.
Glenn Morris <rgm@gnu.org>
parents: 108602
diff changeset
34 6. Commit configure, src/config.in, etc/AUTHORS, all the files changed
83d4d82b8493 * admin/make-tarball.txt: Misc updates.
Glenn Morris <rgm@gnu.org>
parents: 108602
diff changeset
35 by M-x set-version, and lisp/cus-edit.el (if modified).
83d4d82b8493 * admin/make-tarball.txt: Misc updates.
Glenn Morris <rgm@gnu.org>
parents: 108602
diff changeset
36 Copy lisp/loaddefs.el to lisp/ldefs-boot.el and commit lisp/ldefs-boot.el.
83d4d82b8493 * admin/make-tarball.txt: Misc updates.
Glenn Morris <rgm@gnu.org>
parents: 108602
diff changeset
37 For a release, also commit the ChangeLog files in all directories.
48667
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
38
59969
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
39 7. make-dist --snapshot. Check the contents of the new tar with
103857
51b13818eef5 Add a note about bumping the value of
Eli Zaretskii <eliz@gnu.org>
parents: 103520
diff changeset
40 admin/diff-tar-files against an older tar file. Some old pretest
111086
83d4d82b8493 * admin/make-tarball.txt: Misc updates.
Glenn Morris <rgm@gnu.org>
parents: 108602
diff changeset
41 tarballs may be found at <ftp://alpha.gnu.org/gnu/emacs/pretest>;
83d4d82b8493 * admin/make-tarball.txt: Misc updates.
Glenn Morris <rgm@gnu.org>
parents: 108602
diff changeset
42 old release tarballs are at <ftp://ftp.gnu.org/pub/gnu/emacs/>.
48667
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
43
101787
fae9e26f5047 Add some stuff on checking first pretest tarball of a major release.
Glenn Morris <rgm@gnu.org>
parents: 101762
diff changeset
44 If this is the first pretest of a major release, just comparing
fae9e26f5047 Add some stuff on checking first pretest tarball of a major release.
Glenn Morris <rgm@gnu.org>
parents: 101762
diff changeset
45 with the previous release may overlook many new files. You can try
111086
83d4d82b8493 * admin/make-tarball.txt: Misc updates.
Glenn Morris <rgm@gnu.org>
parents: 108602
diff changeset
46 something like `find . | sort' in a clean bzr tree, and compare the
83d4d82b8493 * admin/make-tarball.txt: Misc updates.
Glenn Morris <rgm@gnu.org>
parents: 108602
diff changeset
47 results against the new tar contents.
101787
fae9e26f5047 Add some stuff on checking first pretest tarball of a major release.
Glenn Morris <rgm@gnu.org>
parents: 101762
diff changeset
48
59969
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
49 8. xdelta delta emacs-OLD.tar.gz emacs-NEW.tar.gz emacs-OLD-NEW.xdelta
48667
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
50
59969
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
51 9. tar -zxf emacs-NEW.tar.gz; cd emacs-NEW
61653
4fedc3d06aec Don't commit lisp/loaddefs.el.
Lute Kamstra <lute@gnu.org>
parents: 59969
diff changeset
52 ./configure && make && make -n install
48805
bd5cc892ddde Cleaned up, added reference to make-announce and to emacs-pretest-bug.
Francesco Potortì <pot@gnu.org>
parents: 48670
diff changeset
53 Use `script' or M-x compile to save the compilation log in
bd5cc892ddde Cleaned up, added reference to make-announce and to emacs-pretest-bug.
Francesco Potortì <pot@gnu.org>
parents: 48670
diff changeset
54 compile-NEW.log and compare it against an old one. The easiest way
bd5cc892ddde Cleaned up, added reference to make-announce and to emacs-pretest-bug.
Francesco Potortì <pot@gnu.org>
parents: 48670
diff changeset
55 to do that is to visit the old log in Emacs, change the version
bd5cc892ddde Cleaned up, added reference to make-announce and to emacs-pretest-bug.
Francesco Potortì <pot@gnu.org>
parents: 48670
diff changeset
56 number of the old Emacs to __, do the same with the new log and do
61653
4fedc3d06aec Don't commit lisp/loaddefs.el.
Lute Kamstra <lute@gnu.org>
parents: 59969
diff changeset
57 M-x ediff. Especially check that Info files aren't built.
48667
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
58
59969
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
59 10. cd EMACS_ROOT_DIR; cvs tag TAG
49345
79a402242606 Improve some rough ends.
Francesco Potortì <pot@gnu.org>
parents: 48805
diff changeset
60 TAG is EMACS_PRETEST_XX_YY_ZZZ for a pretest, EMACS_XX_YY for a
79a402242606 Improve some rough ends.
Francesco Potortì <pot@gnu.org>
parents: 48805
diff changeset
61 release.
48667
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
62
98088
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
63 Shortly before the release, cut the branch with the following commands:
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
64
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
65 cvs rtag EMACS_`NUMBER'_BASE
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
66 cvs rtag -b EMACS_`NUMBER'_RC -r EMACS_`NUMBER'_BASE
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
67
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
68 where `NUMBER' is the major version number of the release. This
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
69 makes it easier to see what changes have been applied to the
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
70 branch with:
48667
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
71
98088
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
72 cvs diff -r EMACS_`NUMBER'_BASE -r EMACS_`NUMBER'_RC
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
73
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
74 or merge changes back to the trunk with "cvs update -j", if
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
75 necessary.
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
76
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
77 After doing this, increase the version number on the trunk as per
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
78 step 4.
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
79
103520
e23e74725563 Mention adding branch commits to emacs-diffs.
Glenn Morris <rgm@gnu.org>
parents: 102286
diff changeset
80 Also, open a Savannah support request asking for commits to the
e23e74725563 Mention adding branch commits to emacs-diffs.
Glenn Morris <rgm@gnu.org>
parents: 102286
diff changeset
81 new branch to be sent to the emacs-diffs mailing list (by default,
e23e74725563 Mention adding branch commits to emacs-diffs.
Glenn Morris <rgm@gnu.org>
parents: 102286
diff changeset
82 the list normally only gets commits to the trunk).
e23e74725563 Mention adding branch commits to emacs-diffs.
Glenn Morris <rgm@gnu.org>
parents: 102286
diff changeset
83
98088
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
84 11. Now you should upload the files to the GNU ftp server. In order to
59969
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
85 do that, you must be registered as an Emacs maintainer and have your
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
86 GPG key acknowledged by the ftp people. Mail <ftp-upload@gnu.org>
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
87 for instructions. Once you are there, for each file FILE to be
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
88 released, create a detached GPG binary signature and a clearsigned
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
89 directive file like this:
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
90 gpg -b FILE
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
91 echo directory: emacs/pretest > FILE.directive (for a pretest)
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
92 echo directory: emacs > FILE.directive (for a release)
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
93 gpg --clearsign FILE.directive
73361
52051ccbb0d0 Fix upload instructions: pretest files should not be uploaded in
Romain Francoise <romain@orebokech.com>
parents: 69702
diff changeset
94 Upload by anonymous ftp to ftp://ftp-upload.gnu.org/ the files FILE,
52051ccbb0d0 Fix upload instructions: pretest files should not be uploaded in
Romain Francoise <romain@orebokech.com>
parents: 69702
diff changeset
95 FILE.sig, FILE.directive.asc.
52051ccbb0d0 Fix upload instructions: pretest files should not be uploaded in
Romain Francoise <romain@orebokech.com>
parents: 69702
diff changeset
96 For a release, place the files in the /incoming/ftp directory.
52051ccbb0d0 Fix upload instructions: pretest files should not be uploaded in
Romain Francoise <romain@orebokech.com>
parents: 69702
diff changeset
97 For a pretest, place the files in /incoming/alpha instead, so that
52051ccbb0d0 Fix upload instructions: pretest files should not be uploaded in
Romain Francoise <romain@orebokech.com>
parents: 69702
diff changeset
98 they appear on ftp://alpha.gnu.org/.
48667
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
99
98088
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
100 For a release, upload a bz2 tarfile as well; this can save a lot
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
101 of bandwidth.
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
102
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
103 12. After five minutes, verify that the files are visible at
50201
d0449a23c8d9 Release instructions added.
Francesco Potortì <pot@gnu.org>
parents: 49634
diff changeset
104 ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, at
d0449a23c8d9 Release instructions added.
Francesco Potortì <pot@gnu.org>
parents: 49634
diff changeset
105 ftp://ftp.gnu.org/gnu/emacs/ for a release.
48669
4e9688417aed Check the ftp site.
Francesco Potortì <pot@gnu.org>
parents: 48667
diff changeset
106
98088
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
107 13. For a pretest, announce it on emacs-devel and BCC the pretesters.
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
108 For a release, announce it on info-gnu@gnu.org,
b72d358fea71 Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents: 97043
diff changeset
109 info-gnu-emacs@gnu.org, and emacs-devel.
77484
d7dd3448e6d3 Add note about cutting the branch.
Nick Roberts <nickrob@snap.net.nz>
parents: 74069
diff changeset
110