Commit | Line | Data |
---|---|---|
2732830a | 1 | This is a checklist for making Guile releases. |
251ca7ab JB |
2 | It's specific to the FSF's development environment; please don't put |
3 | it in the distribution. | |
2732830a | 4 | |
f8c9d497 JB |
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." | |
f7677ff2 | 9 | |
deaceb4e | 10 | In release 1.3.2: |
f8c9d497 JB |
11 | * Release is titled ``wormwood'' release. |
12 | * remove #/ syntax | |
13 | * Remove SCHEME_LOAD_PATH. | |
67ad463a | 14 | |
deaceb4e | 15 | In release 1.3.4: |
577905a8 JB |
16 | - remove hook support from boot-9.scm |
17 | (only provided for backward compatibility) | |
67ad463a MD |
18 | - remove names evalext.c: serial-map, |
19 | ramap.c: serial-array-copy!, serial-array-map! | |
deaceb4e | 20 | - remove module (ice-9 getopt-gnu-style) |
e7367a17 | 21 | - remove kw.h, scm_tc16_kw |
16a5a9a4 MD |
22 | - remove genio.h |
23 | - remove deprecated function scm_newsmob. | |
caa8de98 | 24 | |
ed8c8636 MD |
25 | Modules sort.c and random.c should be factored out into separate |
26 | modules (but still be distributed with guile-core) when we get a new | |
27 | module system. | |
28 | ||
cc914709 JB |
29 | Platforms for test builds: |
30 | SunOS (gcc and pcc) --- galapas.ai.mit.edu | |
31 | Solaris (gcc and SUN cc) --- saturn.ai.mit.edu | |
32 | NetBSD (gcc) --- repo-man.ai.mit.edu (use /home/repo/jimb) | |
33 | HP/UX (gcc, HP cc) --- nutrimat.gnu.ai.mit.edu | |
34 | ||
35 | ||
fb2c2b9e JB |
36 | 1) Check that the versions of aclocal, automake, autoconf, and autoheader |
37 | in your PATH match those given in README. Note that the `make | |
38 | dist' process always invokes these tools, even when all the | |
39 | generated files are up to date. | |
40 | 2) Verify that Guile builds and runs in your working directory. I | |
2732830a JB |
41 | hope that we'll eventually have a test suite to make this more |
42 | concrete, but for the moment, just make sure things seem sane. | |
dbdd0c16 | 43 | 3) Make sure NEWS, INSTALL and the docs are up to date: |
2732830a JB |
44 | a) Scan the ChangeLogs for user-visible changes, marked with an asterisk |
45 | at the left margin. | |
46 | b) Update NEWS and the Texinfo documentation as appropriate. | |
47 | c) Remove the user-visible markers from the log entries once they're | |
48 | documented. | |
9e2310a8 | 49 | d) Check for any [[incomplete]] sections of NEWS. |
dbdd0c16 | 50 | e) Fact-check INSTALL. |
5469b4a1 | 51 | 4) Scan output from `cvs diff' to find files that have changed a lot, but |
fa3f45cc | 52 | do not have up-to-date copyright notices. |
75d6cdf0 JB |
53 | 5) Update the version numbers in GUILE-VERSION, and README. The Guile |
54 | version number should be of the form N.M for a major release, and | |
55 | N.M.L for snapshots and beta releases; L should be even for beta | |
56 | releases, and odd for snapshots. | |
fb2c2b9e | 57 | 6) Set up README appropriately for the release; check name spellings |
a14e4791 | 58 | in THANKS, and reformat. |
fb2c2b9e JB |
59 | 7) Choose new interface numbers for shared libraries. |
60 | 8) Do a `cvs update -A', to get rid of any sticky tags. | |
61 | 9) Rebuild all generated files in the source tree: | |
2bb68285 JB |
62 | a) Install the .m4 files where aclocal will find them. |
63 | b) Run aclocal. | |
64 | c) Run automake. | |
65 | d) Run autoconf. | |
66 | e) Run autoheader. | |
fb2c2b9e JB |
67 | 10) Commit all changes to the CVS repository. |
68 | 11) Verify that the disty works, too: | |
2bb68285 JB |
69 | a) Make a disty, using 'make dist'. |
70 | b) Unpack it somewhere else. | |
71 | c) Remove automake and autoconf from your path, or turn off their | |
72 | execute bits, or something. (Users should be able to build disty | |
73 | without installing those tools.) | |
74 | d) Configure, make, and install. | |
5ec51d13 | 75 | e) Test the installed version; don't forget to unset GUILE_LOAD_PATH. |
716290a7 JB |
76 | f) Test the example code in the doc directory. |
77 | g) If you made any fixes, commit them, and start from a) again | |
14725cbb | 78 | 11a) Add "Guile N.M released." entry to ChangeLog, and commit it. |
fb2c2b9e | 79 | 12) Tag the entire source tree with a tag of the form "release_N_M". |
dbdd0c16 JB |
80 | 13) Copy the tar file over to the GNU machines, and send mail to |
81 | ftp-upload@gnu.org, asking them to put it on prep. | |
fb2c2b9e | 82 | 14) Send an announcement message to gnu-announce@gnu.org. Put |
c484bf7f JB |
83 | "Obtaining Guile" first, then a brief summary of the changes in |
84 | this release, then "Thanks," "About This Distribution," and | |
85 | "Nightly Snapshots." If I remember correctly, the moderator will | |
86 | delay it until the tar file appears on prep. The announcement | |
87 | text should be mostly taken from Guile's README file. | |
fb2c2b9e | 88 | 15) Notify freshmeat.net, although they're probably watching anyway. |
105ac23a JB |
89 | (They got the 1.3 release just fine.) I have no idea if |
90 | www.bowerbird.com.au will be something anyone refers to, but Guile | |
91 | does have an entry there. | |
fb2c2b9e | 92 | 16) Tweak the version numbers in GUILE-VERSION, and README to indicate that |
9986a72f | 93 | the sources are snapshot again. Snapshots should have version numbers |
75d6cdf0 | 94 | of the form "N.M.L", where L is odd. |
fb2c2b9e | 95 | 17) Start a new section of the NEWS file. |
14725cbb JB |
96 | 18) Start a new THANKS file. |
97 | 19) Send mail to majordomo-owner@cygnus.com updating the message you get | |
538c267a | 98 | when you ask majordomo for "info guile". |