diff options
| author | Glenn Morris | 2014-05-02 15:45:17 -0400 |
|---|---|---|
| committer | Glenn Morris | 2014-05-02 15:45:17 -0400 |
| commit | 283d38edc96eb5e764ccc094d6affaef9e9d2c95 (patch) | |
| tree | f8ff05d51a8288e7d429598296506b10bf593be0 /admin | |
| parent | 6f074205d30c6922db52fdf9a63b9e0467fd82c1 (diff) | |
| download | emacs-283d38edc96eb5e764ccc094d6affaef9e9d2c95.tar.gz emacs-283d38edc96eb5e764ccc094d6affaef9e9d2c95.zip | |
admin/make-tarball.txt: Misc small updates/edits
Diffstat (limited to 'admin')
| -rw-r--r-- | admin/make-tarball.txt | 77 |
1 files changed, 42 insertions, 35 deletions
diff --git a/admin/make-tarball.txt b/admin/make-tarball.txt index 50183f75561..a2e8a9e7da3 100644 --- a/admin/make-tarball.txt +++ b/admin/make-tarball.txt | |||
| @@ -5,6 +5,11 @@ Instructions to create pretest or release tarballs. -*- coding: utf-8 -*- | |||
| 5 | 5 | ||
| 6 | Steps to take before starting on the first pretest in any release sequence: | 6 | Steps to take before starting on the first pretest in any release sequence: |
| 7 | 7 | ||
| 8 | 0. The release branch (e.g. emacs-24) should already have been made | ||
| 9 | and you should use it for all that follows. Diffs from this | ||
| 10 | branch should be going to the emacs-diffs mailing list (see | ||
| 11 | admin/notes/bzr section on bzr-email plugin). | ||
| 12 | |||
| 8 | 1. Decide on versions of automake and autoconf, and ensure you will | 13 | 1. Decide on versions of automake and autoconf, and ensure you will |
| 9 | have them available for the duration of the release process. | 14 | have them available for the duration of the release process. |
| 10 | 15 | ||
| @@ -14,17 +19,15 @@ Steps to take before starting on the first pretest in any release sequence: | |||
| 14 | when preparing the first pretest for a major Emacs release.) | 19 | when preparing the first pretest for a major Emacs release.) |
| 15 | Commit cus-edit.el if changed. | 20 | Commit cus-edit.el if changed. |
| 16 | 21 | ||
| 22 | 3. Remove any old pretests from ftp://alpha.gnu.org/gnu/emacs/pretest. | ||
| 23 | You can use `gnupload --delete' (see below for more gnupload details). | ||
| 17 | 24 | ||
| 18 | General steps (for each step, check for possible errors): | 25 | General steps (for each step, check for possible errors): |
| 19 | 26 | ||
| 20 | 1. `bzr update' (for a bound branch), or `bzr pull'. | 27 | 1. `bzr update' (for a bound branch), or `bzr pull'. |
| 21 | bzr status # check for locally modified files | 28 | bzr status # check for locally modified files |
| 22 | 29 | ||
| 23 | 2. Bootstrap to make 100% sure all elc files are up-to-date, and to | 30 | 2. Regenerate the etc/AUTHORS file: |
| 24 | make sure that the later tagged version will bootstrap, should it be | ||
| 25 | necessary to check it out. | ||
| 26 | |||
| 27 | 3. Regenerate the etc/AUTHORS file: | ||
| 28 | M-: (require 'authors) RET | 31 | M-: (require 'authors) RET |
| 29 | M-x authors RET | 32 | M-x authors RET |
| 30 | 33 | ||
| @@ -39,7 +42,7 @@ General steps (for each step, check for possible errors): | |||
| 39 | authors-ambiguous-files or authors-aliases, and repeat. | 42 | authors-ambiguous-files or authors-aliases, and repeat. |
| 40 | Commit any fixes to ChangeLogs or authors.el. | 43 | Commit any fixes to ChangeLogs or authors.el. |
| 41 | 44 | ||
| 42 | 4. Set the version number (M-x load-file RET admin/admin.el RET, then | 45 | 3. Set the version number (M-x load-file RET admin/admin.el RET, then |
| 43 | M-x set-version RET). For a release, add released ChangeLog | 46 | M-x set-version RET). For a release, add released ChangeLog |
| 44 | entries (M-x add-release-logs RET). | 47 | entries (M-x add-release-logs RET). |
| 45 | 48 | ||
| @@ -54,31 +57,37 @@ General steps (for each step, check for possible errors): | |||
| 54 | emacs-XX.Y-rc1.tar. If all goes well in the following week, you | 57 | emacs-XX.Y-rc1.tar. If all goes well in the following week, you |
| 55 | can simply rename the file and use it for the actual release. | 58 | can simply rename the file and use it for the actual release. |
| 56 | 59 | ||
| 57 | 5. autoreconf -i -I m4 --force | 60 | 4. autoreconf -i -I m4 --force |
| 58 | make bootstrap | 61 | make bootstrap |
| 59 | 62 | ||
| 60 | make -C etc/refcards | 63 | make -C etc/refcards |
| 61 | make -C etc/refcards clean | 64 | make -C etc/refcards clean |
| 62 | 65 | ||
| 63 | 6. Copy lisp/loaddefs.el to lisp/ldefs-boot.el. | 66 | 5. Copy lisp/loaddefs.el to lisp/ldefs-boot.el. |
| 64 | 67 | ||
| 65 | Commit etc/AUTHORS, lisp/ldefs-boot.el, and the files changed | 68 | Commit etc/AUTHORS, lisp/ldefs-boot.el, and the files changed |
| 66 | by M-x set-version. | 69 | by M-x set-version. Use a commit log message that bzrmerge.el |
| 70 | will ignore (eg "Bump version..."). | ||
| 67 | For a release, also commit the ChangeLog files in all directories. | 71 | For a release, also commit the ChangeLog files in all directories. |
| 68 | 72 | ||
| 69 | 7. ./make-dist --snapshot --no-compress | 73 | If someone else made a commit between step 1 and now, |
| 74 | you need to repeat from step 4 onwards. (You can commit the files | ||
| 75 | from step 2 and 3 earlier to reduce the chance of this.) | ||
| 76 | |||
| 77 | 6. ./make-dist --snapshot --no-compress | ||
| 70 | 78 | ||
| 71 | Check the contents of the new tar with | 79 | Check the contents of the new tar with admin/diff-tar-files |
| 72 | admin/diff-tar-files against an older tar file. Some old pretest | 80 | against the previous release (if this is the first pretest) or the |
| 73 | tarballs may be found at <ftp://alpha.gnu.org/gnu/emacs/pretest>; | 81 | previous pretest. If you did not make the previous pretest |
| 74 | old release tarballs are at <ftp://ftp.gnu.org/pub/gnu/emacs/>. | 82 | yourself, find it at <ftp://alpha.gnu.org/gnu/emacs/pretest>. |
| 83 | Releases are of course at <ftp://ftp.gnu.org/pub/gnu/emacs/>. | ||
| 75 | 84 | ||
| 76 | If this is the first pretest of a major release, just comparing | 85 | If this is the first pretest of a major release, just comparing |
| 77 | with the previous release may overlook many new files. You can try | 86 | with the previous release may overlook many new files. You can try |
| 78 | something like `find . | sort' in a clean bzr tree, and compare the | 87 | something like `find . | sort' in a clean bzr tree, and compare the |
| 79 | results against the new tar contents. | 88 | results against the new tar contents. |
| 80 | 89 | ||
| 81 | 8. tar -xf emacs-NEW.tar; cd emacs-NEW | 90 | 7. tar -xf emacs-NEW.tar; cd emacs-NEW |
| 82 | ./configure --prefix=/tmp/emacs && make && make install | 91 | ./configure --prefix=/tmp/emacs && make && make install |
| 83 | Use `script' or M-x compile to save the compilation log in | 92 | Use `script' or M-x compile to save the compilation log in |
| 84 | compile-NEW.log and compare it against an old one. The easiest way | 93 | compile-NEW.log and compare it against an old one. The easiest way |
| @@ -87,25 +96,21 @@ General steps (for each step, check for possible errors): | |||
| 87 | M-x ediff. Especially check that Info files aren't built, and that | 96 | M-x ediff. Especially check that Info files aren't built, and that |
| 88 | no autotools (autoconf etc) run. | 97 | no autotools (autoconf etc) run. |
| 89 | 98 | ||
| 90 | 9. cd EMACS_ROOT_DIR && bzr tag TAG | 99 | 8. cd EMACS_ROOT_DIR && bzr tag TAG |
| 91 | TAG is emacs-XX.Y.ZZ for a pretest, emacs-XX.Y for a release. | 100 | TAG is emacs-XX.Y.ZZ for a pretest, emacs-XX.Y for a release. |
| 92 | 101 | ||
| 93 | Shortly before the release, cut the version branch also, and open | 102 | 9. Decide what compression schemes to offer. |
| 94 | a Savannah support request asking for commits to the new branch to | ||
| 95 | be sent to the emacs-diffs mailing list (by default, the list | ||
| 96 | normally only gets commits to the trunk). | ||
| 97 | |||
| 98 | 10. Decide what compression schemes to offer. | ||
| 99 | For a release, at least gz and xz: | 103 | For a release, at least gz and xz: |
| 100 | gzip --best -c emacs-NEW.tar > emacs-NEW.tar.gz | 104 | gzip --best -c emacs-NEW.tar > emacs-NEW.tar.gz |
| 101 | xz -c emacs-NEW.tar > emacs-NEW.tar.xz | 105 | xz -c emacs-NEW.tar > emacs-NEW.tar.xz |
| 106 | For pretests, just xz is probably fine (saves bandwidth). | ||
| 102 | 107 | ||
| 103 | Now you should upload the files to the GNU ftp server. In order to | 108 | Now you should upload the files to the GNU ftp server. In order to |
| 104 | do that, you must be registered as an Emacs maintainer and have your | 109 | do that, you must be registered as an Emacs maintainer and have your |
| 105 | GPG key acknowledged by the ftp people. For instructions, see | 110 | GPG key acknowledged by the ftp people. For instructions, see |
| 106 | http://www.gnu.org/prep/maintain/html_node/Automated-Upload-Registration.html | 111 | http://www.gnu.org/prep/maintain/html_node/Automated-Upload-Registration.html |
| 107 | The simplest method is to use the gnulib <http://www.gnu.org/s/gnulib/> | 112 | The simplest method to upload is to use the gnulib |
| 108 | script "build-aux/gnupload" to upload each FILE, like this: | 113 | <http://www.gnu.org/s/gnulib/> script "build-aux/gnupload": |
| 109 | 114 | ||
| 110 | For a pretest: | 115 | For a pretest: |
| 111 | gnupload [--user your@gpg.key.email] --to alpha.gnu.org:emacs/pretest \ | 116 | gnupload [--user your@gpg.key.email] --to alpha.gnu.org:emacs/pretest \ |
| @@ -136,19 +141,21 @@ General steps (for each step, check for possible errors): | |||
| 136 | For a pretest, place the files in /incoming/alpha instead, so that | 141 | For a pretest, place the files in /incoming/alpha instead, so that |
| 137 | they appear on ftp://alpha.gnu.org/. | 142 | they appear on ftp://alpha.gnu.org/. |
| 138 | 143 | ||
| 139 | 11. After five minutes, verify that the files are visible at | 144 | 10. After five minutes, verify that the files are visible at |
| 140 | ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, or | 145 | ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, or |
| 141 | ftp://ftp.gnu.org/gnu/emacs/ for a release. | 146 | ftp://ftp.gnu.org/gnu/emacs/ for a release. |
| 142 | 147 | ||
| 143 | Download them and check the signatures. Check they build. | 148 | Download them and check the signatures. Check they build. |
| 144 | 149 | ||
| 145 | 12. For a pretest, announce it on emacs-devel and info-gnu-emacs@gnu.org. | 150 | 11. Send an announcement to: emacs-devel, and bcc: info-gnu-emacs@gnu.org. |
| 146 | Probably should also include the platform-testers list: | 151 | For a pretest, also bcc: platform-testers@gnu.org. |
| 147 | https://lists.gnu.org/mailman/listinfo/platform-testers | 152 | (The reason for using bcc: is to make it less likely that people |
| 148 | For a release, also announce it on info-gnu@gnu.org. (Probably | 153 | will followup on the wrong list.) |
| 149 | bcc the info- addresses to make it less likely that people will | 154 | See the info-gnu-emacs mailing list archives for the form |
| 150 | followup on those lists.) | 155 | of past announcements. The first pretest announcement, and the |
| 151 | 156 | release announcement, should have more detail. | |
| 152 | 13. For a release, update the Emacs homepage in the web repository. | 157 | |
| 153 | Also add the new NEWS file as NEWS.xx.y. | 158 | 12. For a release, update the Emacs homepage in the web repository. |
| 154 | Maybe regenerate the html manuals, update the FAQ, etc, etc. | 159 | Also update history.html, and add the new NEWS file as NEWS.xx.y. |
| 160 | Regenerate the html manuals (use make-manuals from admin.el). | ||
| 161 | If there are new manuals, add appropriate index pages. | ||