Mercurial > emacs
comparison admin/make-tarball.txt @ 59969:6af50633a8f1
ftp upload procedure finally described
author | Francesco Potortì <pot@gnu.org> |
---|---|
date | Sun, 06 Feb 2005 22:32:31 +0000 |
parents | 229b09cd4c04 |
children | 4fedc3d06aec 3ebd9bdb4fe5 |
comparison
equal
deleted
inserted
replaced
59968:a2314da923ec | 59969:6af50633a8f1 |
---|---|
2 -- originally written by Gerd Moellmann, amended by Francesco Potort́ | 2 -- originally written by Gerd Moellmann, amended by Francesco Potort́ |
3 with the initial help of Eli Zaretskii | 3 with the initial help of Eli Zaretskii |
4 | 4 |
5 For each step, check for possible errors. | 5 For each step, check for possible errors. |
6 | 6 |
7 1. cvs -q update -Pd | 7 1. cvs -q update -Pd |
8 | 8 |
9 2. Bootstrap to make 100% sure all elc files are up-to-date, and to | 9 2. Bootstrap to make 100% sure all elc files are up-to-date, and to |
10 make sure that the later tagged version will bootstrap, should it be | 10 make sure that the later tagged version will bootstrap, should it be |
11 necessary to check it out. | 11 necessary to check it out. |
12 | 12 |
17 | 17 |
18 4. Set the version number (M-x load-file RET admin/admin.el RET, then | 18 4. Set the version number (M-x load-file RET admin/admin.el RET, then |
19 M-x set-version RET). For a release, add released change log | 19 M-x set-version RET). For a release, add released change log |
20 entries (M-x add-release-logs RET). | 20 entries (M-x add-release-logs RET). |
21 | 21 |
22 5. rm configure; make bootstrap | 22 5. rm configure; make bootstrap |
23 | 23 |
24 6. Commit configure, README, AUTHORS, lisp/loaddefs.el, | 24 6. Commit configure, README, AUTHORS, lisp/loaddefs.el, |
25 lisp/cus-load.el, lisp/finder-inf.el, lisp/version.el, | 25 lisp/cus-load.el, lisp/finder-inf.el, lisp/version.el, |
26 man/emacs.texi. For a release, also commit the ChangeLog files in | 26 man/emacs.texi. For a release, also commit the ChangeLog files in |
27 all directories. | 27 all directories. |
28 | 28 |
29 7. make-dist --snapshot. Check the contents of the new tar with | 29 7. make-dist --snapshot. Check the contents of the new tar with |
30 admin/diff-tar-files against an older tar file. Some old pretest | 30 admin/diff-tar-files against an older tar file. Some old pretest |
31 tarballs are kept under fencepost.gnu.org:~pot/emacs-pretest/, while | 31 tarballs are kept under fencepost.gnu.org:~pot/emacs-pretest/, while |
32 old emacs tarballs are at <ftp://ftp.gnu.org/pub/gnu/emacs/>. | 32 old emacs tarballs are at <ftp://ftp.gnu.org/pub/gnu/emacs/>. |
33 | 33 |
34 8. xdelta delta emacs-OLD.tar.gz emacs-NEW.tar.gz emacs-OLD-NEW.xdelta | 34 8. xdelta delta emacs-OLD.tar.gz emacs-NEW.tar.gz emacs-OLD-NEW.xdelta |
35 | 35 |
36 9. tar -zxf emacs-NEW.tar.gz; cd emacs-NEW | 36 9. tar -zxf emacs-NEW.tar.gz; cd emacs-NEW |
37 configure && make && make -n install | 37 configure && make && make -n install |
38 Use `script' or M-x compile to save the compilation log in | 38 Use `script' or M-x compile to save the compilation log in |
39 compile-NEW.log and compare it against an old one. The easiest way | 39 compile-NEW.log and compare it against an old one. The easiest way |
40 to do that is to visit the old log in Emacs, change the version | 40 to do that is to visit the old log in Emacs, change the version |
41 number of the old Emacs to __, do the same with the new log and do | 41 number of the old Emacs to __, do the same with the new log and do |
42 M-x ediff. Especially check that Info files aren't built. | 42 M-x ediff. Especially check that Info files aren't built. |
43 | 43 |
44 10. cd EMACS_ROOT_DIR; cvs tag TAG | 44 10. cd EMACS_ROOT_DIR; cvs tag TAG |
45 TAG is EMACS_PRETEST_XX_YY_ZZZ for a pretest, EMACS_XX_YY for a | 45 TAG is EMACS_PRETEST_XX_YY_ZZZ for a pretest, EMACS_XX_YY for a |
46 release. | 46 release. |
47 | 47 |
48 11. admin/make-announcement OLD NEW | 48 11. admin/make-announcement OLD NEW |
49 This creates an announcement for pretests. OLD is the version used | 49 This creates an announcement for pretests. OLD is the version used |
50 to make deltas with respect to NEW. Anouncements for pretests need | 50 to make deltas with respect to NEW. Announcements for releases need |
51 to be crafted by hand. Use an older announcement to start with. | 51 to be crafted by hand. Use an older announcement to start with: |
52 look in ssh://fencepost.gnu.org/~pot/emacs-tarballs/. | |
52 | 53 |
53 12. For the moment, put the tarballs on a public site and send a GPG | 54 12. Now you should upload the files to the GNU ftp server. In order to |
54 signed email to <maintainers@gnu.org> with the URLs of the tarballs | 55 do that, you must be registered as an Emacs maintainer and have your |
55 and their md5sum signatures. As of 2003-10, the GNU maintainers are | 56 GPG key acknowledged by the ftp people. Mail <ftp-upload@gnu.org> |
56 working on a better procedure. For reference, here are the previous | 57 for instructions. Once you are there, for each file FILE to be |
57 instructions, which are no more valid after the break-in of 2003-08: | 58 released, create a detached GPG binary signature and a clearsigned |
58 ==== | 59 directive file like this: |
59 For a pretest, do: | 60 gpg -b FILE |
60 rsync -aP emacs-NEW.tar.gz emacs-OLD-NEW.xdelta compile-NEW.log \ | 61 echo directory: emacs/pretest > FILE.directive (for a pretest) |
61 emacs-NEW.announce alpha.gnu.org:/home/alpha/gnu/emacs/pretest/. | 62 echo directory: emacs > FILE.directive (for a release) |
62 For a release, do: | 63 gpg --clearsign FILE.directive |
63 rsync -aP emacs-NEW.tar.gz emacs-OLD-NEW.xdelta \ | 64 Upload by anonymous ftp to ftp://ftp-upload.gnu.org/incoming/ftp/ |
64 alpha.gnu.org:/home/ftp/gnu/emacs/. | 65 the files FILE, FILE.sig, FILE.directive.asc |
65 | 66 |
66 13. Verify that the files are visible at | 67 13. After five minutes, verify that the files are visible at |
67 ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, at | 68 ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, at |
68 ftp://ftp.gnu.org/gnu/emacs/ for a release. | 69 ftp://ftp.gnu.org/gnu/emacs/ for a release. |
69 | 70 |
70 14. For a pretest, let Richard Stallman know about the new pretest and | 71 14. For a pretest, let Richard Stallman know about the new pretest and |
71 tell him to announce it using the announcement you prepared. Remind | 72 tell him to announce it using the announcement you prepared. Remind |