Mercurial > emacs
annotate admin/make-tarball.txt @ 105337:507e3735eed8
(byte-compile-defmacro-declaration): New fun.
(byte-compile-file-form-defmumble, byte-compile-defmacro): Use it.
(byte-compile-defmacro): Use backquotes.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Thu, 01 Oct 2009 04:38:52 +0000 |
parents | 51b13818eef5 |
children | bcfd4263df7b |
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 |
59969
6af50633a8f1
ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents:
54148
diff
changeset
|
7 1. cvs -q update -Pd |
48667
7ce5464da6b5
Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff
changeset
|
8 |
7ce5464da6b5
Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff
changeset
|
9 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
|
10 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
|
11 necessary to check it out. |
7ce5464da6b5
Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff
changeset
|
12 |
84414 | 13 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
|
14 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
|
15 the *Authors* buffer). This may require fixing syntactically |
d46a70300b43
Mention regenerating Emacs' AUTHORS file.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
16 incorrect ChangeLog entries beforehand. |
d46a70300b43
Mention regenerating Emacs' AUTHORS file.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
17 |
d46a70300b43
Mention regenerating Emacs' AUTHORS file.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
18 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
|
19 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
|
20 entries (M-x add-release-logs RET). |
7ce5464da6b5
Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff
changeset
|
21 |
101762
1851b1154a27
Mention pretest version numbering.
Glenn Morris <rgm@gnu.org>
parents:
98088
diff
changeset
|
22 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
|
23 it sorts). |
1851b1154a27
Mention pretest version numbering.
Glenn Morris <rgm@gnu.org>
parents:
98088
diff
changeset
|
24 |
103857
51b13818eef5
Add a note about bumping the value of
Eli Zaretskii <eliz@gnu.org>
parents:
103520
diff
changeset
|
25 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
|
26 `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
|
27 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
|
28 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
|
29 |
51b13818eef5
Add a note about bumping the value of
Eli Zaretskii <eliz@gnu.org>
parents:
103520
diff
changeset
|
30 5. rm configure; autoconf |
102286
56670ab44a20
Add note about configure patch.
Chong Yidong <cyd@stupidchicken.com>
parents:
101787
diff
changeset
|
31 |
56670ab44a20
Add note about configure patch.
Chong Yidong <cyd@stupidchicken.com>
parents:
101787
diff
changeset
|
32 Patch configure: See |
56670ab44a20
Add note about configure patch.
Chong Yidong <cyd@stupidchicken.com>
parents:
101787
diff
changeset
|
33 http://lists.gnu.org/archive/html/emacs-devel/2009-02/msg00851.html |
56670ab44a20
Add note about configure patch.
Chong Yidong <cyd@stupidchicken.com>
parents:
101787
diff
changeset
|
34 |
103857
51b13818eef5
Add a note about bumping the value of
Eli Zaretskii <eliz@gnu.org>
parents:
103520
diff
changeset
|
35 make bootstrap |
48667
7ce5464da6b5
Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff
changeset
|
36 |
87777 | 37 6. Commit configure, README, doc/emacs/emacs.texi, |
103857
51b13818eef5
Add a note about bumping the value of
Eli Zaretskii <eliz@gnu.org>
parents:
103520
diff
changeset
|
38 doc/lispref/elisp.texi, etc/AUTHORS, lisp/version.el, nt/emacs.rc, |
51b13818eef5
Add a note about bumping the value of
Eli Zaretskii <eliz@gnu.org>
parents:
103520
diff
changeset
|
39 and lisp/cus-edit.el (if modified). Copy lisp/loaddefs.el to |
74069
63bb14878bb5
Add three additional files to commit.
Chong Yidong <cyd@stupidchicken.com>
parents:
74066
diff
changeset
|
40 lisp/ldefs-boot.el and commit lisp/ldefs-boot.el. For a release, |
63bb14878bb5
Add three additional files to commit.
Chong Yidong <cyd@stupidchicken.com>
parents:
74066
diff
changeset
|
41 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
|
42 |
59969
6af50633a8f1
ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents:
54148
diff
changeset
|
43 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
|
44 admin/diff-tar-files against an older tar file. Some old pretest |
49345 | 45 tarballs are kept under fencepost.gnu.org:~pot/emacs-pretest/, while |
46 old emacs 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
|
47 |
101787
fae9e26f5047
Add some stuff on checking first pretest tarball of a major release.
Glenn Morris <rgm@gnu.org>
parents:
101762
diff
changeset
|
48 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
|
49 with the previous release may overlook many new files. You can try |
fae9e26f5047
Add some stuff on checking first pretest tarball of a major release.
Glenn Morris <rgm@gnu.org>
parents:
101762
diff
changeset
|
50 something like `find -f | grep -v CVS...etc' in a clean CVS tree, |
fae9e26f5047
Add some stuff on checking first pretest tarball of a major release.
Glenn Morris <rgm@gnu.org>
parents:
101762
diff
changeset
|
51 and compare the results against the new tar contents. |
fae9e26f5047
Add some stuff on checking first pretest tarball of a major release.
Glenn Morris <rgm@gnu.org>
parents:
101762
diff
changeset
|
52 |
59969
6af50633a8f1
ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents:
54148
diff
changeset
|
53 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
|
54 |
59969
6af50633a8f1
ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents:
54148
diff
changeset
|
55 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
|
56 ./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
|
57 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
|
58 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
|
59 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
|
60 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
|
61 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
|
62 |
59969
6af50633a8f1
ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents:
54148
diff
changeset
|
63 10. cd EMACS_ROOT_DIR; cvs tag TAG |
49345 | 64 TAG is EMACS_PRETEST_XX_YY_ZZZ for a pretest, EMACS_XX_YY for a |
65 release. | |
48667
7ce5464da6b5
Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff
changeset
|
66 |
98088
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
67 Shortly before the release, cut the branch with the following commands: |
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
68 |
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
69 cvs rtag EMACS_`NUMBER'_BASE |
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
70 cvs rtag -b EMACS_`NUMBER'_RC -r EMACS_`NUMBER'_BASE |
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
71 |
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
72 where `NUMBER' is the major version number of the release. This |
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
73 makes it easier to see what changes have been applied to the |
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
74 branch with: |
48667
7ce5464da6b5
Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff
changeset
|
75 |
98088
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
76 cvs diff -r EMACS_`NUMBER'_BASE -r EMACS_`NUMBER'_RC |
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
77 |
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
78 or merge changes back to the trunk with "cvs update -j", if |
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
79 necessary. |
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
80 |
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
81 After doing this, increase the version number on the trunk as per |
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
82 step 4. |
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
83 |
103520
e23e74725563
Mention adding branch commits to emacs-diffs.
Glenn Morris <rgm@gnu.org>
parents:
102286
diff
changeset
|
84 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
|
85 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
|
86 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
|
87 |
98088
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
88 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
|
89 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
|
90 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
|
91 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
|
92 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
|
93 directive file like this: |
6af50633a8f1
ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents:
54148
diff
changeset
|
94 gpg -b FILE |
6af50633a8f1
ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents:
54148
diff
changeset
|
95 echo directory: emacs/pretest > FILE.directive (for a pretest) |
6af50633a8f1
ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents:
54148
diff
changeset
|
96 echo directory: emacs > FILE.directive (for a release) |
6af50633a8f1
ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents:
54148
diff
changeset
|
97 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
|
98 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
|
99 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
|
100 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
|
101 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
|
102 they appear on ftp://alpha.gnu.org/. |
48667
7ce5464da6b5
Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff
changeset
|
103 |
98088
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
104 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
|
105 of bandwidth. |
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
106 |
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
107 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
|
108 ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, at |
d0449a23c8d9
Release instructions added.
Francesco Potortì <pot@gnu.org>
parents:
49634
diff
changeset
|
109 ftp://ftp.gnu.org/gnu/emacs/ for a release. |
48669 | 110 |
98088
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
111 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
|
112 For a release, announce it on info-gnu@gnu.org, |
b72d358fea71
Update instructions.
Chong Yidong <cyd@stupidchicken.com>
parents:
97043
diff
changeset
|
113 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
|
114 |
52401 | 115 |
116 # arch-tag: c23c771f-ca26-4584-8a04-50ecf0989390 |