annotate admin/make-tarball.txt @ 95034:38ec81da0a8b

Switch to recommended form of GPLv3 permissions notice.
author Glenn Morris <rgm@gnu.org>
date Fri, 16 May 2008 05:49:14 +0000
parents 5d58981e6690
children c70e45a7acfd 9592c50233ab
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
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
931690a65909 Add etc/ to AUTHORS.
Juri Linkov <juri@jurta.org>
parents: 77502
diff changeset
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
59969
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
22 5. rm configure; make bootstrap
48667
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
23
87777
b3c42ad1c59b Update for doc/ directory.
Glenn Morris <rgm@gnu.org>
parents: 84414
diff changeset
24 6. Commit configure, README, doc/emacs/emacs.texi,
b3c42ad1c59b Update for doc/ directory.
Glenn Morris <rgm@gnu.org>
parents: 84414
diff changeset
25 doc/lispref/elisp.texi, etc/AUTHORS, lisp/version.el,
74069
63bb14878bb5 Add three additional files to commit.
Chong Yidong <cyd@stupidchicken.com>
parents: 74066
diff changeset
26 mac/Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings,
63bb14878bb5 Add three additional files to commit.
Chong Yidong <cyd@stupidchicken.com>
parents: 74066
diff changeset
27 mac/src/Emacs.r, nt/emacs.rc. Copy lisp/loaddefs.el to
63bb14878bb5 Add three additional files to commit.
Chong Yidong <cyd@stupidchicken.com>
parents: 74066
diff changeset
28 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
29 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
30
59969
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
31 7. make-dist --snapshot. Check the contents of the new tar with
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
32 admin/diff-tar-files against an older tar file. Some old pretest
49345
79a402242606 Improve some rough ends.
Francesco Potortì <pot@gnu.org>
parents: 48805
diff changeset
33 tarballs are kept under fencepost.gnu.org:~pot/emacs-pretest/, while
79a402242606 Improve some rough ends.
Francesco Potortì <pot@gnu.org>
parents: 48805
diff changeset
34 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
35
59969
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
36 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
37
59969
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
38 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
39 ./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
40 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
41 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
42 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
43 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
44 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
45
59969
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
46 10. cd EMACS_ROOT_DIR; cvs tag TAG
49345
79a402242606 Improve some rough ends.
Francesco Potortì <pot@gnu.org>
parents: 48805
diff changeset
47 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
48 release.
48667
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
49
59969
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
50 11. admin/make-announcement OLD NEW
49345
79a402242606 Improve some rough ends.
Francesco Potortì <pot@gnu.org>
parents: 48805
diff changeset
51 This creates an announcement for pretests. OLD is the version used
59969
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
52 to make deltas with respect to NEW. Announcements for releases need
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
53 to be crafted by hand. Use an older announcement to start with:
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
54 look in ssh://fencepost.gnu.org/~pot/emacs-tarballs/.
48667
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
55
59969
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
56 12. Now you should upload the files to the GNU ftp server. In order to
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
57 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
58 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
59 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
60 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
61 directive file like this:
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
62 gpg -b FILE
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
63 echo directory: emacs/pretest > FILE.directive (for a pretest)
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
64 echo directory: emacs > FILE.directive (for a release)
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
65 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
66 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
67 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
68 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
69 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
70 they appear on ftp://alpha.gnu.org/.
48667
7ce5464da6b5 Instructions to create pretest or release tarballs.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
71
59969
6af50633a8f1 ftp upload procedure finally described
Francesco Potortì <pot@gnu.org>
parents: 54148
diff changeset
72 13. After five minutes, verify that the files are visible at
50201
d0449a23c8d9 Release instructions added.
Francesco Potortì <pot@gnu.org>
parents: 49634
diff changeset
73 ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, at
d0449a23c8d9 Release instructions added.
Francesco Potortì <pot@gnu.org>
parents: 49634
diff changeset
74 ftp://ftp.gnu.org/gnu/emacs/ for a release.
48669
4e9688417aed Check the ftp site.
Francesco Potortì <pot@gnu.org>
parents: 48667
diff changeset
75
87903
5d58981e6690 Merge from emacs--rel--22
Miles Bader <miles@gnu.org>
parents: 87777 79851
diff changeset
76 14. For a pretest, let Richard Stallman <rms@gnu.org> know about the new
5d58981e6690 Merge from emacs--rel--22
Miles Bader <miles@gnu.org>
parents: 87777 79851
diff changeset
77 pretest and tell him to announce it using the announcement you prepared.
5d58981e6690 Merge from emacs--rel--22
Miles Bader <miles@gnu.org>
parents: 87777 79851
diff changeset
78 Remind him to set a Reply-to header to <emacs-pretest-bug@gnu.org>.
77484
d7dd3448e6d3 Add note about cutting the branch.
Nick Roberts <nickrob@snap.net.nz>
parents: 74069
diff changeset
79
d7dd3448e6d3 Add note about cutting the branch.
Nick Roberts <nickrob@snap.net.nz>
parents: 74069
diff changeset
80 15. Shortly before the release, cut the branch with the following commands:
d7dd3448e6d3 Add note about cutting the branch.
Nick Roberts <nickrob@snap.net.nz>
parents: 74069
diff changeset
81
d7dd3448e6d3 Add note about cutting the branch.
Nick Roberts <nickrob@snap.net.nz>
parents: 74069
diff changeset
82 cvs rtag EMACS_`NUMBER'_BASE
d7dd3448e6d3 Add note about cutting the branch.
Nick Roberts <nickrob@snap.net.nz>
parents: 74069
diff changeset
83 cvs rtag -b EMACS_`NUMBER'_RC -r EMACS_`NUMBER'_BASE
d7dd3448e6d3 Add note about cutting the branch.
Nick Roberts <nickrob@snap.net.nz>
parents: 74069
diff changeset
84
d7dd3448e6d3 Add note about cutting the branch.
Nick Roberts <nickrob@snap.net.nz>
parents: 74069
diff changeset
85 where `NUMBER' is the major version number of the release. This makes it
d7dd3448e6d3 Add note about cutting the branch.
Nick Roberts <nickrob@snap.net.nz>
parents: 74069
diff changeset
86 easier to see what changes have been applied to the branch with:
d7dd3448e6d3 Add note about cutting the branch.
Nick Roberts <nickrob@snap.net.nz>
parents: 74069
diff changeset
87
d7dd3448e6d3 Add note about cutting the branch.
Nick Roberts <nickrob@snap.net.nz>
parents: 74069
diff changeset
88 cvs diff -r EMACS_`NUMBER'_BASE -r EMACS_`NUMBER'_RC
d7dd3448e6d3 Add note about cutting the branch.
Nick Roberts <nickrob@snap.net.nz>
parents: 74069
diff changeset
89
d7dd3448e6d3 Add note about cutting the branch.
Nick Roberts <nickrob@snap.net.nz>
parents: 74069
diff changeset
90 or merge changes back to the trunk with "cvs update -j", if necessary.
d7dd3448e6d3 Add note about cutting the branch.
Nick Roberts <nickrob@snap.net.nz>
parents: 74069
diff changeset
91
77502
9a42a4441db4 Mention increasing trunk version number after branching.
Glenn Morris <rgm@gnu.org>
parents: 77485
diff changeset
92 After doing this, increase the version number on the trunk as per step 4.
9a42a4441db4 Mention increasing trunk version number after branching.
Glenn Morris <rgm@gnu.org>
parents: 77485
diff changeset
93
77484
d7dd3448e6d3 Add note about cutting the branch.
Nick Roberts <nickrob@snap.net.nz>
parents: 74069
diff changeset
94 16. For a release, Richard should prepare the announcement himself,
50201
d0449a23c8d9 Release instructions added.
Francesco Potortì <pot@gnu.org>
parents: 49634
diff changeset
95 possibly starting from a previous announcment.
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 50201
diff changeset
96
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 50201
diff changeset
97 # arch-tag: c23c771f-ca26-4584-8a04-50ecf0989390