*** empty log message ***
[bpt/guile.git] / RELEASE
1 This is a checklist for making Guile releases.
2 It's specific to the FSF's development environment; please don't put
3 it in the distribution.
4
5 In release 1.3:
6 - (done) make #/ generate a warning.
7 - (done) make SCHEME_LOAD_PATH generate a warning.
8 - (done) Perry Metzger <perry@piermont.com> is willing to do beta-testing
9 for NetBSD.
10
11 In release 1.4:
12 - remove #/ syntax
13 - Remove SCHEME_LOAD_PATH.
14
15 Platforms for test builds:
16 SunOS (gcc and pcc) --- galapas.ai.mit.edu
17 Solaris (gcc and SUN cc) --- saturn.ai.mit.edu
18 NetBSD (gcc) --- repo-man.ai.mit.edu (use /home/repo/jimb)
19 HP/UX (gcc, HP cc) --- nutrimat.gnu.ai.mit.edu
20
21
22 1) Check that the versions of aclocal, automake, autoconf, and autoheader
23 in your PATH match those given in README. Note that the `make
24 dist' process always invokes these tools, even when all the
25 generated files are up to date.
26 2) Verify that Guile builds and runs in your working directory. I
27 hope that we'll eventually have a test suite to make this more
28 concrete, but for the moment, just make sure things seem sane.
29 3) Make sure NEWS and the docs are up to date:
30 a) Scan the ChangeLogs for user-visible changes, marked with an asterisk
31 at the left margin.
32 b) Update NEWS and the Texinfo documentation as appropriate.
33 c) Remove the user-visible markers from the log entries once they're
34 documented.
35 d) Check for any [[incomplete]] sections of NEWS.
36 4) Scan output from `cvs diff' to find files that have changed a lot, but
37 do not have up-to-date copyright notices.
38 5) Update the version numbers in GUILE-VERSION, and README. The Guile
39 version number should be of the form N.M for a major release, and
40 N.M.L for snapshots and beta releases; L should be even for beta
41 releases, and odd for snapshots.
42 6) Set up README appropriately for the release; check name spellings
43 in THANKS, and reformat.
44 7) Choose new interface numbers for shared libraries.
45 8) Do a `cvs update -A', to get rid of any sticky tags.
46 9) Rebuild all generated files in the source tree:
47 a) Install the .m4 files where aclocal will find them.
48 b) Run aclocal.
49 c) Run automake.
50 d) Run autoconf.
51 e) Run autoheader.
52 10) Commit all changes to the CVS repository.
53 11) Verify that the disty works, too:
54 a) Make a disty, using 'make dist'.
55 b) Unpack it somewhere else.
56 c) Remove automake and autoconf from your path, or turn off their
57 execute bits, or something. (Users should be able to build disty
58 without installing those tools.)
59 d) Configure, make, and install.
60 e) Test the installed version; don't forget to unset GUILE_LOAD_PATH.
61 f) Test the example code in the doc directory.
62 g) If you made any fixes, commit them, and start from a) again
63 11a) Add "Guile N.M released." entry to ChangeLog, and commit it.
64 12) Tag the entire source tree with a tag of the form "release_N_M".
65 13) Copy the tar file over to the GNU machines, and ask the appropriate
66 person to put it on prep. At the time of this writing, Joel Weber
67 <devnull@gnu.org> has been generous about helping with that.
68 14) Send an announcement message to gnu-announce@gnu.org. Put
69 "Obtaining Guile" first, then a brief summary of the changes in
70 this release, then "Thanks," "About This Distribution," and
71 "Nightly Snapshots." If I remember correctly, the moderator will
72 delay it until the tar file appears on prep. The announcement
73 text should be mostly taken from Guile's README file.
74 15) Notify freshmeat.net, although they're probably watching anyway.
75 16) Tweak the version numbers in GUILE-VERSION, and README to indicate that
76 the sources are snapshot again. Snapshots should have version numbers
77 of the form "N.M.L", where L is odd.
78 17) Start a new section of the NEWS file.
79 18) Start a new THANKS file.
80 19) Send mail to majordomo-owner@cygnus.com updating the message you get
81 when you ask majordomo for "info guile".