1
=============================
2
Docutils_ Release Procedure
3
=============================
4
:Author: David Goodger; Felix Wiemann; open to all Docutils developers
5
:Contact: goodger@python.org
6
:Date: $Date: 2005-11-08 22:48:57 +0100 (Tue, 08 Nov 2005) $
7
:Revision: $Revision: 4020 $
8
:Copyright: This document has been placed in the public domain.
10
.. _Docutils: http://docutils.sourceforge.net/
13
(Steps in boldface text are *not* covered by the release script at
14
sandbox/fwiemann/release.sh. "Not covered" means that you aren't even
15
reminded of them. Note: The release.sh script needs to be updated to
16
reflect the recent move to Subversion!)
18
* **Announce a check-in freeze on Docutils-develop. Post a list of
19
major changes since the last release and ask for additions.**
23
**You may want to save this list of changes in a file
24
(e.g. CHANGES.txt) to have it at hand when you need it for posting
25
announcements or pasting it into forms.**
27
* Change ``__version_details__`` in docutils/docutils/__init__.py to
28
"release" (from "repository").
30
* Bump the _`version number` in the following files:
33
+ docutils/docutils/__init__.py
34
+ docutils/test/functional/expected/* ("Generator: Docutils X.Y.Z")
36
* Close the "Changes Since ..." section in docutils/HISTORY.txt.
38
* Clear/unset the PYTHONPATH environment variable.
40
* Create the release tarball:
42
(a) Create a new empty directory and ``cd`` into it.
44
(b) Get a clean snapshot of the main tree::
46
svn export svn://svn.berlios.de/docutils/trunk/docutils
48
(c) Use Distutils to create the release tarball::
53
* Expand and _`install` the release tarball in isolation:
55
(a) Expand the tarball in a new location, not over any existing
58
(b) Remove the old installation from site-packages (including
59
roman.py, and optparse.py, textwrap.py).
61
Install from expanded directory::
64
python setup.py install
66
The "install" command may require root permissions.
68
(c) Repeat step b) for all supported Python versions.
70
* Run the _`test suite` from the expanded archive directory with all
71
supported Python versions: ``cd test ; python -u alltests.py``.
73
* Add a directory X.Y.Z (where X.Y.Z is the current version number
74
of Docutils) in the webroot (i.e. the ``htdocs/`` directory).
75
Put all documentation files into it::
82
find -name test -type d -prune -o -name \*.css -print0 \
83
-o -name \*.html -print0 -o -name \*.txt -print0 \
84
| tar -cjvf docutils-docs.tar.bz2 -T - --null
85
scp docutils-docs.tar.bz2 <username>@shell.sourceforge.net:
87
Now log in to shell.sourceforge.net and::
89
cd /home/groups/d/do/docutils/htdocs/
92
tar -xjvf ~/docutils-docs.tar.bz2
93
rm ~/docutils-docs.tar.bz2
95
* Upload the release tarball::
97
$ ftp upload.sourceforge.net
98
Connected to osdn.dl.sourceforge.net.
100
Name (upload.sourceforge.net:david): anonymous
101
331 Anonymous login ok, send your complete e-mail address as password.
104
230 Anonymous access granted, restrictions apply.
108
250 CWD command successful.
109
ftp> put docutils-X.Y.Z.tar.gz
111
* Access the _`file release system` on SourceForge (Admin
112
interface). Fill in the fields:
114
:Package ID: docutils
115
:Release Name: <use release number only, e.g. 0.3>
116
:Release Date: <today's date>
118
:File Name: <select the file just uploaded>
119
:File Type: Source .gz
120
:Processor Type: Platform-Independent
121
:Release Notes: <insert README.txt file here>
122
:Change Log: <insert summary from CHANGES.txt_>
124
Also check the "Preserve my pre-formatted text" box.
126
* For verifying the integrity of the release, download the release
127
tarball (you may need to wait up to 30 minutes), install_ it, and
128
re-run the `test suite`_.
130
* Register with PyPI (``python setup.py register``).
132
* Restore ``__version_details__`` in docutils/docutils/__init__.py to
133
"repository" (from "release").
135
* Bump the `version number`_ again.
137
* Add a new empty section "Changes Since ..." in HISTORY.txt.
139
* Update the web page (web/index.txt).
141
* Run docutils-update on the server.
143
* **Send announcement email to:**
145
* docutils-develop@lists.sourceforge.net (also announcing the end
146
of the check-in freeze)
147
* docutils-users@lists.sourceforge.net
149
* python-announce@python.org
151
* **Add a SourceForge News item, with title "Docutils X.Y.Z released"
152
and containing the release tarball's download URL.**
154
* **Register with FreshMeat.** (Add a `new release`__ for the
155
`Docutils project`__).
157
__ http://freshmeat.net/add-release/48702/
158
__ http://freshmeat.net/projects/docutils/
165
indent-tabs-mode: nil
166
sentence-end-double-space: t