X-Git-Url: http://git.hcoop.net/bpt/guile.git/blobdiff_plain/cc914709faa1f7225825a472e2161a131817c283..f7677ff2d9b7ec2c556f1cb1c0f0423985202bfe:/RELEASE diff --git a/RELEASE b/RELEASE dissimilarity index 65% index c1716b04b..3be59e85a 100644 --- a/RELEASE +++ b/RELEASE @@ -1,61 +1,91 @@ -This is a checklist for making Guile releases. -It's specific to the FSF's development environment; please don't put -it in the distribution. - -In release 1.2: -- note that #/ syntax is going to go away. -- fix all uses of #/ in the dist. - -In release 1.3: -- make #/ generate a warning. - -In release 1.4: -- remove #/ syntax - -Platforms for test builds: -SunOS (gcc and pcc) --- galapas.ai.mit.edu -Solaris (gcc and SUN cc) --- saturn.ai.mit.edu -NetBSD (gcc) --- repo-man.ai.mit.edu (use /home/repo/jimb) -HP/UX (gcc, HP cc) --- nutrimat.gnu.ai.mit.edu - - -1) Verify that Guile builds and runs in your working directory. I - hope that we'll eventually have a test suite to make this more - concrete, but for the moment, just make sure things seem sane. -2) Make sure NEWS and the docs are up to date: - a) Scan the ChangeLogs for user-visible changes, marked with an asterisk - at the left margin. - b) Update NEWS and the Texinfo documentation as appropriate. - c) Remove the user-visible markers from the log entries once they're - documented. -3) Scan output from `cvs log' to find files that have changed a lot, but - do not have up-to-date copyright notices. -4) Update the version numbers in GUILE-VERSION, and README, to remove the - "unreleased" indications. They should be straight numbers, of the form - "N.M", not alpha numbers, of the form "N.Ma". -5) Choose new interface numbers for shared libraries. -6) Do a `cvs update -A', to get rid of any sticky tags. -7) Commit all changes to the CVS repository. -8) Verify that the disty works, too: - a) Make a disty, using 'make dist'. - b) Unpack it somewhere else. - c) Remove automake and autoconf from your path, or turn off their - execute bits, or something. (Users should be able to build disty - without installing those tools.) - d) Configure, make, and install. - e) Test the installed version; don't forget to unset SCHEME_LOAD_PATH. - f) If you made any fixes, commit them, and start from a) again -9) Tag the entire source tree with a tag of the form "release_N_M". -10) Copy the tar file over to the GNU machines, and ask the appropriate - person to put it on prep. At the time of this writing, Daniel Hagerty - has been generous about helping with that. -11) Send an announcement message to gnu-announce@prep.ai.mit.edu. If I - remember correctly, the moderator will delay it until the tar file - appears on prep. The announcement text should be mostly taken from - Guile's README file. -12) Tweak the version numbers in GUILE-VERSION, and README to indicate that - the sources are snapshot again. Snapshots should have version numbers - of the form "N.Ma", where the "a" means "alpha". -13) Start a new section of the NEWS file. -14) Send mail to majordomo-owner@cygnus.com updating the message you get - when you ask majordomo for "info guile". +This is a checklist for making Guile releases. +It's specific to the FSF's development environment; please don't put +it in the distribution. + +Maybe we should name Guile releases after entertaining poisons. + +In release 1.4: +- Release is titled ``wormwood'' release. +- remove #/ syntax +- Remove SCHEME_LOAD_PATH. +- remove hook support from boot-9.scm + (only provided for backward compatibility) + +In release 1.5: +- remove names evalext.c: serial-map, + ramap.c: serial-array-copy!, serial-array-map! + +Modules sort.c and random.c should be factored out into separate +modules (but still be distributed with guile-core) when we get a new +module system. + +Platforms for test builds: +SunOS (gcc and pcc) --- galapas.ai.mit.edu +Solaris (gcc and SUN cc) --- saturn.ai.mit.edu +NetBSD (gcc) --- repo-man.ai.mit.edu (use /home/repo/jimb) +HP/UX (gcc, HP cc) --- nutrimat.gnu.ai.mit.edu + + +1) Check that the versions of aclocal, automake, autoconf, and autoheader + in your PATH match those given in README. Note that the `make + dist' process always invokes these tools, even when all the + generated files are up to date. +2) Verify that Guile builds and runs in your working directory. I + hope that we'll eventually have a test suite to make this more + concrete, but for the moment, just make sure things seem sane. +3) Make sure NEWS, INSTALL and the docs are up to date: + a) Scan the ChangeLogs for user-visible changes, marked with an asterisk + at the left margin. + b) Update NEWS and the Texinfo documentation as appropriate. + c) Remove the user-visible markers from the log entries once they're + documented. + d) Check for any [[incomplete]] sections of NEWS. + e) Fact-check INSTALL. +4) Scan output from `cvs diff' to find files that have changed a lot, but + do not have up-to-date copyright notices. +5) Update the version numbers in GUILE-VERSION, and README. The Guile + version number should be of the form N.M for a major release, and + N.M.L for snapshots and beta releases; L should be even for beta + releases, and odd for snapshots. +6) Set up README appropriately for the release; check name spellings + in THANKS, and reformat. +7) Choose new interface numbers for shared libraries. +8) Do a `cvs update -A', to get rid of any sticky tags. +9) Rebuild all generated files in the source tree: + a) Install the .m4 files where aclocal will find them. + b) Run aclocal. + c) Run automake. + d) Run autoconf. + e) Run autoheader. +10) Commit all changes to the CVS repository. +11) Verify that the disty works, too: + a) Make a disty, using 'make dist'. + b) Unpack it somewhere else. + c) Remove automake and autoconf from your path, or turn off their + execute bits, or something. (Users should be able to build disty + without installing those tools.) + d) Configure, make, and install. + e) Test the installed version; don't forget to unset GUILE_LOAD_PATH. + f) Test the example code in the doc directory. + g) If you made any fixes, commit them, and start from a) again +11a) Add "Guile N.M released." entry to ChangeLog, and commit it. +12) Tag the entire source tree with a tag of the form "release_N_M". +13) Copy the tar file over to the GNU machines, and send mail to + ftp-upload@gnu.org, asking them to put it on prep. +14) Send an announcement message to gnu-announce@gnu.org. Put + "Obtaining Guile" first, then a brief summary of the changes in + this release, then "Thanks," "About This Distribution," and + "Nightly Snapshots." If I remember correctly, the moderator will + delay it until the tar file appears on prep. The announcement + text should be mostly taken from Guile's README file. +15) Notify freshmeat.net, although they're probably watching anyway. + (They got the 1.3 release just fine.) I have no idea if + www.bowerbird.com.au will be something anyone refers to, but Guile + does have an entry there. +16) Tweak the version numbers in GUILE-VERSION, and README to indicate that + the sources are snapshot again. Snapshots should have version numbers + of the form "N.M.L", where L is odd. +17) Start a new section of the NEWS file. +18) Start a new THANKS file. +19) Send mail to majordomo-owner@cygnus.com updating the message you get + when you ask majordomo for "info guile".