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