aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorJoakim Verona2013-01-04 00:03:51 +0100
committerJoakim Verona2013-01-04 00:03:51 +0100
commit55b74b54b179f340bdb311070273f26da3fbd0c9 (patch)
treea4469518bb0fd4c79e8d3445ac44e2733e6e2e32 /admin
parentc6b5fe1e945c664a0d696ae6eea9721235baf2f1 (diff)
parenta8aa6c2d08c5bf67cae9db62663e69fb183fbddb (diff)
downloademacs-55b74b54b179f340bdb311070273f26da3fbd0c9.tar.gz
emacs-55b74b54b179f340bdb311070273f26da3fbd0c9.zip
auto upstream
Diffstat (limited to 'admin')
-rw-r--r--admin/ChangeLog7
-rw-r--r--admin/README4
-rwxr-xr-xadmin/check-doc-strings8
-rw-r--r--admin/emacs-pretesters217
-rwxr-xr-xadmin/make-announcement87
-rwxr-xr-xadmin/make-changelog-diff29
-rw-r--r--admin/make-tarball.txt36
7 files changed, 29 insertions, 359 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog
index a75094fa3f1..fa001ede6cb 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,10 @@
12013-01-03 Glenn Morris <rgm@gnu.org>
2
3 * check-doc-strings: Update for CVS->bzr, moved lispref/ directory.
4
5 * emacs-pretesters, make-announcement, make-changelog-diff:
6 Remove files.
7
12012-12-14 Paul Eggert <eggert@cs.ucla.edu> 82012-12-14 Paul Eggert <eggert@cs.ucla.edu>
2 9
3 Fix permissions bugs with setgid directories etc. (Bug#13125) 10 Fix permissions bugs with setgid directories etc. (Bug#13125)
diff --git a/admin/README b/admin/README
index 5e410e10457..d696a14176e 100644
--- a/admin/README
+++ b/admin/README
@@ -24,10 +24,6 @@ Instructions to create pretest or release tarballs, announcements, etc.
24 24
25Utilities for setting version numbers and alike. 25Utilities for setting version numbers and alike.
26 26
27** make-announcement, make-changelog-diff
28
29Scripts used to prepare release announcements.
30
31 27
32* Scripts that can be used to build and test Emacs. 28* Scripts that can be used to build and test Emacs.
33 29
diff --git a/admin/check-doc-strings b/admin/check-doc-strings
index ef4b203cd79..c69ff47ebfb 100755
--- a/admin/check-doc-strings
+++ b/admin/check-doc-strings
@@ -17,7 +17,7 @@ formal parameters, docstrings, and lispref texi.
17This program is in the public domain.\n"; 17This program is in the public domain.\n";
18 18
19die $usage if @ARGV; 19die $usage if @ARGV;
20die $usage unless -r "src/alloc.c" && -d "CVS" && -d "lisp"; 20die $usage unless -r "src/alloc.c" && -d ".bzr" && -d "lisp";
21 21
22my %texi_funtype; 22my %texi_funtype;
23my %texi_arglist; 23my %texi_arglist;
@@ -197,10 +197,8 @@ sub Check_function {
197 Show_details $show_details, $function, "@parms", $docstring; 197 Show_details $show_details, $function, "@parms", $docstring;
198} 198}
199 199
200my $lisprefdir; 200my $lisprefdir = "doc/lispref";
201if (-d "man/lispref") { $lisprefdir = "man/lispref"; } 201die "Can't find lispref texi directory.\n" unless -d $lisprefdir;
202elsif (-d "lispref") { $lisprefdir = "lispref"; }
203else { die "Can't find lispref texi directory.\n"; }
204 202
205open (FIND, "find $lisprefdir -name '*.texi' -print |") or die; 203open (FIND, "find $lisprefdir -name '*.texi' -print |") or die;
206while (my $file = <FIND>) { 204while (my $file = <FIND>) {
diff --git a/admin/emacs-pretesters b/admin/emacs-pretesters
deleted file mode 100644
index 3b1270b477c..00000000000
--- a/admin/emacs-pretesters
+++ /dev/null
@@ -1,217 +0,0 @@
1Here are the guidelines for being an Emacs pretester.
2If you would like to do this, say so, and I'll add you to
3the pretest list.
4
5
6 Information for Emacs Pretesters
7
8The purpose of Emacs pretesting is to verify that the new Emacs
9distribution, about to be released, works properly on your system *with
10no change whatever*, when installed following the precise
11recommendations that come with the Emacs distribution.
12
13Here are some guidelines on how to do pretesting so as to make it
14helpful. All of them follow from common sense together with the
15nature of the purpose and the situation.
16
17Please save this file, and reread it when a new series of pretests
18starts.
19
20* Get the pretest from gnu/emacs/pretest/emacs-MM.0.NN.tar.gz
21on alpha.gnu.org.
22
23* After a few days of testing, if there are no problems, please report
24that Emacs works for you and what configuration you are testing it on.
25
26* If you want to communicate with other pretesters, send mail to
27emacs-pretesters@gnu.org. I don't use that mailing list when I send
28to you because I've found that mailing lists tend to amplify random
29noise into long discussions or even arguments, and that can waste a
30lot of time. But when you have a reason to ask other pretesters for
31help, you can do it that way.
32
33* It is absolutely vital that you report even the smallest change or
34departure from the standard sources and procedure.
35
36Otherwise, you are not testing the same program that we asked you to
37test. Testing a different program is usually of no use whatever. It
38can even cause trouble, if you fail to tell us that you tested some
39other program instead of what we are about to release. We might think
40that Emacs works, when in fact it has not even been tried, and might
41have a glaring fault.
42
43* Don't use a site-load.el file or a site-init.el file when you pretest.
44Using either of those files means you are not testing Emacs as a typical
45site would use it.
46
47Actually, it does no harm to test Emacs with such customizations *as
48well as* testing it "out of the box". Anything you do that could find
49a bug is useful, as long as you make sure we know exactly what you
50did. The important point is that testing with local changes is no
51substitute for testing Emacs exactly as it is distributed.
52
53* Even changing the compilation options counts as a change in the
54program. The Emacs sources specify which compilation options to use.
55Some of them are specified in makefiles, and some in machine-specific
56configuration files. They also give you ways to override this--but if
57you do, then you are not testing what ordinary users will do.
58Therefore, when pretesting, it is vital to test with the default
59compilation options.
60
61(Testing with a different set of options can be useful *in addition*,
62but not *instead of* the default options.)
63
64* The machine and system configuration files of Emacs are parts of
65Emacs. So when you test Emacs, you need to do it with the
66configuration files that come with Emacs.
67
68If Emacs does not come with configuration files for a certain machine,
69and you test it with configuration files that don't come with Emacs,
70this is effectively changing Emacs. Because the crucial fact about
71the planned release is that, without changes, it doesn't work on that
72machine.
73
74To make Emacs work on that machine, we would need to install new
75configuration files. That is not out of the question, since it is
76safe--it certainly won't break any other machines that already work.
77But you will have to rush in the legal papers to give the FSF
78permission to use such a large piece of text.
79
80* Look in the etc/MACHINES file.
81
82The etc/MACHINES file says which configuration files to use for your
83machine, so use the ones that are recommended. If you guess, you might
84guess wrong and encounter spurious difficulties. What's more, if you
85don't follow etc/MACHINES then you aren't helping to test that its
86recommendations are valid.
87
88The etc/MACHINES file may describe other things that you need to do
89to make Emacs work on your machine. If so, you should follow these
90recommendations also, for the same reason.
91
92* Send your problem reports to bug-gnu-emacs@gnu.org.
93
94Sometimes we won't know what to do about a system-dependent issue, and
95we may need people to say what happens if you try a certain thing on a
96certain system. When this happens, we'll send out a query.
97
98* Don't delay sending information.
99
100When you test on a system and encounter no problems, please report it
101right away. That way, we will know that someone has tested Emacs on
102that kind of system.
103
104Please don't wait for several days "to see if it really works before
105you say anything." Tell us right away that Emacs seems basically to
106work; then, if you notice a problem a few days later, tell us
107immediately about that when you see it.
108
109It is okay if you double check things before reporting a problem, such
110as to see if you can easily fix it. But don't wait very long. A good
111rule to use in pretesting is always to report every problem on the
112same day you encounter it, even if that means you can't find a
113solution before you report the problem.
114
115I'd much rather hear about a problem today and a solution tomorrow
116than get both of them tomorrow at the same time.
117
118* Make each bug report self-contained.
119
120If you refer back to another message, whether from you or from someone
121else, then it will be necessary for anyone who wants to investigate
122the bug to find the other message. This may be difficult, it is
123probably time-consuming.
124
125To help save our time, simply copy the relevant parts of any previous
126messages into your own bug report.
127
128In particular, if we ask you for more information because a bug report
129was incomplete, it is best to send me the *entire* collection of
130relevant information, all together. If you send just the additional
131information, that makes extra work for us. There is even a risk that
132we won't remember what question you are sending the answer to.
133
134* When you encounter a bug that manifests itself as a Lisp error,
135try setting debug-on-error to t and making the bug happen again.
136Then you will get a Lisp backtrace. Including that in your bug report
137is very useful.
138
139* For advice on debugging, see etc/DEBUG.
140
141* Debugging optimized code is possible, if you compile with GCC, but
142in some cases the optimized code can be confusing. If you are not
143accustomed to that, recompile Emacs without -O. One way to do this is
144
145 make clean
146 make CFLAGS=-g
147
148* Configure tries to figure out what kind of system you have by
149compiling and linking programs which calls various functions and looks
150at whether that succeeds. The file config.log contains any messages
151produced by compilers while running configure, to aid debugging if
152configure makes a mistake. But note that config.cache reads:
153
154# Giving --cache-file=/dev/null disables caching, for debugging configure.
155
156or more simply,
157
158rm config.cache
159./configure
160
161* Don't try changing Emacs *in any way* during pretest unless it fails
162to work unchanged.
163
164* Always be precise when talking about changes you have made. Show
165things rather than describing them. Use exact filenames (relative to
166the main directory of the distribution), not partial ones. For
167example, say "I changed Makefile" rather than "I changed the
168makefile". Instead of saying "I defined the MUMBLE macro", send a
169diff.
170
171* Always use `diff -c' to make diffs. If you don't include context, it
172may be hard for us to figure out where you propose to make the
173changes. So we might ignore your patch.
174
175* When you write a fix, keep in mind that we can't install a change
176that *might* break other systems without the risk that it will fail to
177work and therefore require an additional cycle of pretesting.
178
179People often suggest fixing a problem by changing config.h or
180src/Makefile to do something special that a particular system needs.
181Sometimes it is totally obvious that such changes would break Emacs
182for almost all users. We can't possibly make a change like that. All
183we can do is ask you to find a fix that is safe to install.
184
185Sometimes people send fixes that *might* be an improvement in
186general--but it is hard to be sure of this. I can install such
187changes some of the time, but not during pretest, when I am trying to
188get a new version to work reliably as quickly as possible.
189
190The safest changes for us to install are changes to the s- and m-
191files. At least those can't break other systems.
192
193Another safe kind of change is one that uses a conditional to make
194sure it will apply only to a particular kind of system. Ordinarily,
195that is a bad way to solve a problem, and I would want to find a
196cleaner alternative. But the virtue of safety can make it superior at
197pretest time.
198
199* Don't suggest changes during pretest to add features or make
200something cleaner. Every change risks introducing a bug, so I won't
201install a change during pretest unless it is *necessary*.
202
203* If you would like to suggest changes for purposes other than fixing
204user-visible bugs, don't wait till pretest time. Instead, send them
205after we have made a release that proves to be stable. That is the
206easiest time to consider such suggestions. If you send them at
207pretest time, we will have to defer them till later, and that might
208mean we forget all about them.
209
210* In some cases, if you don't follow these guidelines, your
211information might still be useful, but we would have to do more work
212to make use of it. That might cause it to fall by the wayside.
213
214Local Variables:
215mode: text
216End:
217
diff --git a/admin/make-announcement b/admin/make-announcement
deleted file mode 100755
index 7d2482fc385..00000000000
--- a/admin/make-announcement
+++ /dev/null
@@ -1,87 +0,0 @@
1#! /bin/bash
2
3## Copyright (C) 2002-2013 Free Software Foundation, Inc.
4
5## Author: Francesco Potorti` <pot@gnu.org>
6
7## This file is part of GNU Emacs.
8
9## GNU Emacs is free software: you can redistribute it and/or modify
10## it under the terms of the GNU General Public License as published by
11## the Free Software Foundation, either version 3 of the License, or
12## (at your option) any later version.
13
14## GNU Emacs is distributed in the hope that it will be useful,
15## but WITHOUT ANY WARRANTY; without even the implied warranty of
16## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17## GNU General Public License for more details.
18
19## You should have received a copy of the GNU General Public License
20## along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
21
22
23### Code:
24
25if [ $# -ne 2 ]; then
26 echo "usage: $0 <old version number> <new version number>" >&2
27 exit 1
28fi
29
30if [ ! -f INSTALL -o ! -f configure -o ! -d lib-src ]; then
31 echo "this script should be run in the emacs root directory" >&2
32 exit 2
33fi
34
35OLD=$1
36NEW=$2
37outfile=emacs-$NEW.announce
38oldtag=EMACS_PRETEST_$(echo $OLD|tr . _)
39newtag=EMACS_PRETEST_$(echo $NEW|tr . _)
40
41if [ -f $outfile ]; then
42 echo "$outfile exists"
43 echo -n "interrupt to abort, ENTER to overwrite "; read answer
44fi
45
46echo -n "tag name for OLD emacs version $OLD [$oldtag]: "; read answer
47if [ "$answer" ]; then oldtag=$answer; fi
48
49echo -n "tag name for NEW emacs version $NEW [$newtag]: "; read answer
50if [ "$answer" ]; then newtag=$answer; fi
51
52exec > $outfile
53
54cat <<EOF
55
56There is a new pretest available in
57
58 <ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-$NEW.tar.gz>
59
60Please report results from compiling and running the pretest to
61<bug-gnu-emacs@gnu.org>. Your feedback is necessary for us
62to know on which platforms the pretest has been tried.
63
64If you have the tars from the previous pretest, and you have the
65\`xdelta' utility, you can instead download the much smaller
66
67 <ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-$OLD-$NEW.xdelta>
68
69You can use a command like
70
71 $ xdelta patch XDELTA PREVIOUS-TAR CURRENT-TAR
72
73to generate the new tar from the old one, where XDELTA is the xdelta
74file you downloaded, PREVIOUS-TAR is the tar file from the previous
75pretest, and CURRENT-TAR is the name of the tar file you downloaded.
76
77Information about xdelta can be found on the GNU ftp site, in
78/non-gnu/xdelta.README.
79
80Changes since $OLD
81
82EOF
83
84make-changelog-diff $oldtag $newtag
85
86echo " announcement created in $outfile" >&2
87
diff --git a/admin/make-changelog-diff b/admin/make-changelog-diff
deleted file mode 100755
index 88461131a3f..00000000000
--- a/admin/make-changelog-diff
+++ /dev/null
@@ -1,29 +0,0 @@
1#! /bin/bash
2
3## Author: Francesco Potorti` <pot@gnu.org>
4
5if [ $# -ne 2 ]; then
6 echo "usage: $0 TAG1 TAG2" >&2
7 exit 1
8fi
9
10if [ ! -f INSTALL -o ! -f configure -o ! -d lib-src ]; then
11 echo "this script should be run in the emacs root directory" >&2
12 exit 2
13fi
14
15cvs -q diff -b -r $1 -r $2 $(find -name ChangeLog|sort) |
16 sed -n -e 's/^=\+/======/p' -e 's/^> //p' -e 's/^diff.*//p' \
17 -e 's/^RCS file: .cvsroot.emacs.emacs.\(.*\),v/\1/p' |
18 sed -n -e "/^======$/ {
19 N
20 N
21 h
22 d
23 }
24 H
25 s/.*//
26 x
27 s/^\n//
28 p"
29
diff --git a/admin/make-tarball.txt b/admin/make-tarball.txt
index aa87f2694e6..573bb218c43 100644
--- a/admin/make-tarball.txt
+++ b/admin/make-tarball.txt
@@ -4,6 +4,9 @@ Instructions to create pretest or release tarballs.
4 4
5For each step, check for possible errors. 5For each step, check for possible errors.
6 6
70. Decide on versions of automake and autoconf, and ensure you will
8 have them available for the duration of the release process.
9
71. `bzr update' (for a bound branch), or `bzr pull'. 101. `bzr update' (for a bound branch), or `bzr pull'.
8 bzr status # check for locally modified files 11 bzr status # check for locally modified files
9 12
@@ -11,13 +14,13 @@ For each step, check for possible errors.
11 make sure that the later tagged version will bootstrap, should it be 14 make sure that the later tagged version will bootstrap, should it be
12 necessary to check it out. 15 necessary to check it out.
13 16
143. Regenerate Emacs' etc/AUTHORS file (M-x load-file RET 173. Regenerate the etc/AUTHORS file:
15 lisp/emacs-lisp/authors.el RET, then M-x authors RET, then save 18 M-: (require 'authors) RET, M-x authors RET, save the *Authors* buffer.
16 the *Authors* buffer). This may require fixing syntactically 19 If there are errors that relate to syntactically incorrect
17 incorrect ChangeLog entries beforehand. 20 ChangeLog entries, consider fixing them and repeating.
18 21
194. Set the version number (M-x load-file RET admin/admin.el RET, then 224. Set the version number (M-x load-file RET admin/admin.el RET, then
20 M-x set-version RET). For a release, add released change log 23 M-x set-version RET). For a release, add released ChangeLog
21 entries (M-x add-release-logs RET). 24 entries (M-x add-release-logs RET).
22 25
23 For a pretest, start at version .90. After .99, use .990 (so that 26 For a pretest, start at version .90. After .99, use .990 (so that
@@ -46,9 +49,7 @@ For each step, check for possible errors.
46 something like `find . | sort' in a clean bzr tree, and compare the 49 something like `find . | sort' in a clean bzr tree, and compare the
47 results against the new tar contents. 50 results against the new tar contents.
48 51
498. xdelta delta emacs-OLD.tar.gz emacs-NEW.tar.gz emacs-OLD-NEW.xdelta 528. tar -zxf emacs-NEW.tar.gz; cd emacs-NEW
50
519. tar -zxf emacs-NEW.tar.gz; cd emacs-NEW
52 ./configure && make && make -n install 53 ./configure && make && make -n install
53 Use `script' or M-x compile to save the compilation log in 54 Use `script' or M-x compile to save the compilation log in
54 compile-NEW.log and compare it against an old one. The easiest way 55 compile-NEW.log and compare it against an old one. The easiest way
@@ -56,7 +57,7 @@ For each step, check for possible errors.
56 number of the old Emacs to __, do the same with the new log and do 57 number of the old Emacs to __, do the same with the new log and do
57 M-x ediff. Especially check that Info files aren't built. 58 M-x ediff. Especially check that Info files aren't built.
58 59
5910. cd EMACS_ROOT_DIR; bzr tag TAG 609. cd EMACS_ROOT_DIR; bzr tag TAG
60 TAG is emacs-XX.Y.ZZ for a pretest, emacs-XX.Y for a release. 61 TAG is emacs-XX.Y.ZZ for a pretest, emacs-XX.Y for a release.
61 62
62 Shortly before the release, cut the version branch also, and open 63 Shortly before the release, cut the version branch also, and open
@@ -64,11 +65,11 @@ For each step, check for possible errors.
64 be sent to the emacs-diffs mailing list (by default, the list 65 be sent to the emacs-diffs mailing list (by default, the list
65 normally only gets commits to the trunk). 66 normally only gets commits to the trunk).
66 67
6711. Now you should upload the files to the GNU ftp server. In order to 6810. Now you should upload the files to the GNU ftp server. In order to
68 do that, you must be registered as an Emacs maintainer and have your 69 do that, you must be registered as an Emacs maintainer and have your
69 GPG key acknowledged by the ftp people. For instructions, see 70 GPG key acknowledged by the ftp people. For instructions, see
70 http://www.gnu.org/prep/maintain/html_node/Automated-Upload-Registration.html 71 http://www.gnu.org/prep/maintain/html_node/Automated-Upload-Registration.html
71 You can use the gnupload script to upload each FILE, like this: 72 You can use the gnulib script "gnupload" to upload each FILE, like this:
72 gnupload --to alpha.gnu.org:emacs/pretest FILE (for a pretest) 73 gnupload --to alpha.gnu.org:emacs/pretest FILE (for a pretest)
73 gnupload --to ftp.gnu.org:emacs FILE (for a release) 74 gnupload --to ftp.gnu.org:emacs FILE (for a release)
74 75
@@ -84,16 +85,17 @@ For each step, check for possible errors.
84 For a pretest, place the files in /incoming/alpha instead, so that 85 For a pretest, place the files in /incoming/alpha instead, so that
85 they appear on ftp://alpha.gnu.org/. 86 they appear on ftp://alpha.gnu.org/.
86 87
87 For a release, upload a bz2 tarfile as well; this can save a lot 88 For a release, upload xz and bz2 tarfiles as well; this can save a lot
88 of bandwidth. 89 of bandwidth.
89 90
9012. After five minutes, verify that the files are visible at 9111. After five minutes, verify that the files are visible at
91 ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, at 92 ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, at
92 ftp://ftp.gnu.org/gnu/emacs/ for a release. 93 ftp://ftp.gnu.org/gnu/emacs/ for a release.
93 94
9413. For a pretest, announce it on emacs-devel and BCC the pretesters. 9512. For a pretest, announce it on emacs-devel and info-gnu-emacs@gnu.org.
95 For a release, announce it on info-gnu@gnu.org, 96 For a release, also announce it on info-gnu@gnu.org. (Probably
96 info-gnu-emacs@gnu.org, and emacs-devel. 97 bcc the info- addresses to make it less likely that people will
98 followup on those lists.)
97 99
9814. For a release, update the Emacs homepage in the web repository. 10013. For a release, update the Emacs homepage in the web repository.
99 Also add the new NEWS file as NEWS.xx.y. 101 Also add the new NEWS file as NEWS.xx.y.