Fix make-array transforms.
[sbcl.git] / doc / internals-notes / release-checklist.txt
1 Review "cvs log" to see whether there's anything missing in NEWS or
2 CREDITS.
3
4 Check .sbclrc and /etc/sbclrc and any other relevant local machinery
5 like it (e.g. ~/lib/lisp/sbcl-patches.lisp for WHN) to make sure that
6 any local mutations you've been experimenting with locally are either
7 integrated into the system already or commented out while you build
8 and test it. (Or alternatively, set up your scripts to build and test
9 SBCL in a way which instructs it to ignore .sbclrc.)
10
11 Do basic tests on the system. Some useful tests are:
12  * built-in tests, o' course
13   ** cd tests && sh ./run-tests.sh
14  * gcl ANSI test suite
15  * Build and run your apps and their test suites under the system.
16  * similarly on any other computers I have handy
17
18 Bump version number up to a release version number, so that
19 e.g. 1.2.3.45 becomes 1.2.4.
20
21 Check again: "cvs diff" to make sure this isn't some mutant...
22
23 Check that things are up to date:
24  * TODO
25  * man page and user manual (e.g. in referring to bugs)
26
27 Create the distribution files:
28       * Move customize-target-features.lisp out of the way (and
29         anything else nuked by distclean.sh).
30       * Run clean.sh.
31       * Run make.sh to build the system with the final version number.
32       * (Install on my system. Do final tests.)
33       * Run make-doc.sh to format the documentation.
34         -- fundamental hack to make things work on my old Debian
35            system with newer texinfo in /usr/local/bin:
36              $ (cd doc/manual/ ; PATH=/usr/local/bin:$PATH make html)
37            or
38              $ (cd doc/ ; PATH=/usr/local/bin:$PATH sh make-doc.sh)
39       * Now that it's been verified to build itself,
40         ** Commit the system to CVS
41               $ cvs commit
42            with commit log a la
43               "release, will be tagged as sbcl_0_7_8"
44         ** Tag the system in CVS, e.g.
45               $ cvs tag sbcl_1_0_3
46       * Copy sbcl/ to sbcl-x.y.z/. (on OpenBSD "cp -pR ...", on
47               Linux "cp -a")
48         ** In sbcl/,
49            *** Restore my customize-target-features.lisp.
50         ** In sbcl/../,
51            *** Run "ln -s sbcl-x.y.z sbcl-x.y.z-<arch>-<os>"
52            *** Run "sh sbcl-x.y.z/binary-distribution.sh sbcl-x.y.z-<arch>-<os>".
53            *** Run "sh sbcl-x.y.z/html-distribution.sh sbcl-x.y.z".
54            *** (In sbcl-x.y.z/, run clean.sh and/or distclean.sh to
55                clean up.)
56            *** Run "sh sbcl-x.y.z/source-distribution.sh sbcl-x.y.z".
57         ** copy the change descriptions in NEWS for this release to
58            sbcl-x.y.z-release.notes.txt
59       * Run "md5sum > sbcl-x.y.z-$sfuserid" on the renamed tar files.
60         (On *BSD, it's "md5" instead of "md5sum".)
61       * Edit the digest file to add
62         "The MD5 checksums of the following distribution files are:"
63         (or "The MD5 checksum of the source distribution tarball is")
64         (or "The MD5 checksum of the following distribution file is:")
65       * Run bzip2 on the renamed tar files.
66       * Run "pgp -sta sbcl-x.y.z-$sfuserid" with appropriate numeric
67         values for x, y, and z.
68 Now we have e.g.:
69       * sbcl-0.7.0-source.tar.bz2
70       * sbcl-0.7.0-x86-openbsd-binary.tar.bz2
71       * sbcl-0.7.0-html.tar.bz2
72       * sbcl-0.7.0-wnewman.asc
73
74  * upload the distribution files via sftp to
75    $sfuser,sbcl@frs.sourceforge.net to the directory
76    /home/frs/project/s/sb/sbcl/sbcl/<version> (creating the directory
77    first. The directory will be created with bad permissions, chmod
78    it to 0775 so that other developers can upload binaries too)
79  * possible shortcuts:
80     <https://sourceforge.net/project/admin/?group_id=1373>
81     sftp $sfuser,sbcl@frs.sourceforge.net
82  * Do the misbegotten^Wunscriptable AJAX thing on the sourceforge File
83    Manager site to make the release notes associated with the file releases
84    ** In the File Manager interface, click on the release notes file,
85       tick the release notes box.
86
87 For a new port (e.g. OpenBSD in sbcl-0.6.7) it's particularly good to
88 upload the appropriate binary distribution.
89
90 Make an announcement to sbcl-announce@lists.sourceforge.net (including
91 going to the sbcl-announce admin page to let it through the antispam
92 policy).
93
94 It's often a good idea to make a copy for me, too. (sbcl-x.y.z.tar.bz2)
95
96 Review the SourceForge web page.