*** 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 Maybe we should name Guile releases after entertaining poisons:
6 absinthe, etc. However, the first release containing the module
7 system should be called Godot: "This is the one you've been waiting
8 for."
9
10 In release 1.3.4:
11 - remove hook support from boot-9.scm
12 (only provided for backward compatibility)
13
14 In release 1.4:
15 - remove names evalext.c: serial-map,
16 ramap.c: serial-array-copy!, serial-array-map!
17 - remove module (ice-9 getopt-gnu-style)
18 - remove kw.h, scm_tc16_kw
19 - remove genio.h
20 - remove deprecated function scm_newsmob.
21
22 Modules sort.c and random.c should be factored out into separate
23 modules (but still be distributed with guile-core) when we get a new
24 module system.
25
26 Platforms for test builds:
27 SunOS (gcc and pcc) --- galapas.ai.mit.edu
28 Solaris (gcc and SUN cc) --- saturn.ai.mit.edu
29 NetBSD (gcc) --- repo-man.ai.mit.edu (use /home/repo/jimb)
30 HP/UX (gcc, HP cc) --- nutrimat.gnu.ai.mit.edu
31
32 These gentlemen have kindly offered to do pre-release testing:
33
34 Tom Tromey <tromey@cygnus.com>:
35
36 alphaev5-unknown-linux-gnu
37 hppa1.1-hp-hpux10.20
38 hppa1.1-hp-hpux11.00
39 mips-sgi-irix5.3
40 powerpc-ibm-aix4.2.0.0
41 powerpc-unknown-linux-gnu
42 sparc-sun-solaris2.6
43 i686-pc-linux-gnu
44 mips-sgi-irix6.3
45 sparc-sun-sunos4.1.4
46
47 Ian Grant <I.A.N.Grant@damtp.cam.ac.uk>:
48
49 alpha-dec-osf4.0e
50
51 Julian Satchell <satchell@merry.dra.hmg.gb>:
52
53 dec-mips-ultrix
54
55 1) Check that the versions of aclocal, automake, autoconf, and autoheader
56 in your PATH match those given in README. Note that the `make
57 dist' process always invokes these tools, even when all the
58 generated files are up to date.
59 2) Verify that Guile builds and runs in your working directory. I
60 hope that we'll eventually have a test suite to make this more
61 concrete, but for the moment, just make sure things seem sane.
62 3) Make sure NEWS, INSTALL and the docs are up to date:
63 a) Scan the ChangeLogs for user-visible changes, marked with an asterisk
64 at the left margin.
65 b) Update NEWS and the Texinfo documentation as appropriate.
66 c) Remove the user-visible markers from the log entries once they're
67 documented.
68 d) Check for any [[incomplete]] sections of NEWS.
69 e) Fact-check INSTALL.
70 4) Scan output from `cvs diff' to find files that have changed a lot, but
71 do not have up-to-date copyright notices.
72 5) Update the version numbers in GUILE-VERSION, and README. The Guile
73 version number should be of the form N.M for a major release, and
74 N.M.L for snapshots and beta releases; L should be even for beta
75 releases, and odd for snapshots.
76 6) Make sure the downloading addressess and filenames are current.
77 7) Set up README appropriately for the release; check name spellings
78 in THANKS, and reformat.
79 8) Choose new interface numbers for shared libraries.
80 9) Do a `cvs update -A', to get rid of any sticky tags.
81 10) Rebuild all generated files in the source tree:
82 a) Install the .m4 files where aclocal will find them.
83 b) Run aclocal.
84 c) Run automake.
85 d) Run autoconf.
86 e) Run autoheader.
87 11) Commit all changes to the CVS repository.
88 12) Verify that the disty works, too:
89 a) BEFORE doing 'make dist', configure the source tree for build
90 in the same tree with configuration option --with-threads.
91 Make sure that readline was enabled correctly.
92 If this is not done, there will be missing dependencies in two
93 Makefile.in.
94 b) Make a disty, using 'make dist'.
95 c) Unpack it somewhere else.
96 d) Remove automake and autoconf from your path, or turn off their
97 execute bits, or something. (Users should be able to build disty
98 without installing those tools.)
99 e) Configure, make, and install.
100 f) Test the installed version; don't forget to unset GUILE_LOAD_PATH.
101 g) Test the example code in the doc directory.
102 h) Give the volunteer pre-release testers above a few days to run
103 the distribution on their systems (make the disty available to them
104 via ftp).
105 i) If you made any fixes, commit them, and start from a) again
106 13) Add "Guile N.M released." entry to ChangeLog, and commit it.
107 14) Tag the entire source tree with a tag of the form "release_N_M".
108 15) Copy the tar file over to the GNU machines, and send mail to
109 ftp-upload@gnu.org, asking them to put it on prep.
110 16) Send an announcement message to gnu-announce@gnu.org. Put
111 "Obtaining Guile" first, then a brief summary of the changes in
112 this release, then "Thanks," "About This Distribution," and
113 "Nightly Snapshots." If I remember correctly, the moderator will
114 delay it until the tar file appears on prep. The announcement
115 text should be mostly taken from Guile's README file.
116 17) Notify freshmeat.net, although they're probably watching anyway.
117 (They got the 1.3 release just fine.) I have no idea if
118 www.bowerbird.com.au will be something anyone refers to, but Guile
119 does have an entry there.
120 18) Tweak the version numbers in GUILE-VERSION, and README to indicate that
121 the sources are snapshot again. Snapshots should have version numbers
122 of the form "N.M.L", where L is odd.
123 19) Start a new section of the NEWS file.
124 20) Start a new THANKS file.
125 21) Send mail to majordomo-owner@cygnus.com updating the message you get
126 when you ask majordomo for "info guile".