1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
|
=============================
Docutils_ Release Procedure
=============================
:Authors: David Goodger; Lea Wiemann; open to all Docutils developers
:Contact: goodger@python.org
:Date: $Date: 2008-06-10 11:56:45 +0200 (Die, 10 Jun 2008) $
:Revision: $Revision: 5570 $
:Copyright: This document has been placed in the public domain.
.. _Docutils: http://docutils.sourceforge.net/
Steps in boldface text are *not* covered by the release script at
sandbox/infrastructure/release.sh. "Not covered" means that you aren't even
reminded of them.
.. Note:: This document does not cover branching and tagging, but the
release script does.
.. Note:: You may want to use ReleaseForge_ instead of using
SourceForge's file release system.
.. _ReleaseForge: http://releaseforge.sourceforge.net/
* **On the Docutils-develop mailing list, announce that the release is
going to be made, update the release notes and ask for additions.**
* **Announce a check-in freeze on Docutils-develop.**
* Change ``__version_details__`` in docutils/docutils/__init__.py to
"release" (from "repository").
* Bump the _`version number` in the following files:
+ docutils/setup.py
+ docutils/docutils/__init__.py
+ docutils/test/functional/expected/* ("Generator: Docutils X.Y.Z")
* Close the "Changes Since ..." section in docutils/HISTORY.txt.
* Clear/unset the PYTHONPATH environment variable.
* Create the release tarball:
(a) Create a new empty directory and ``cd`` into it.
(b) Get a clean snapshot of the main tree::
svn export svn://svn.berlios.de/docutils/trunk/docutils
(c) Use Distutils to create the release tarball::
cd docutils
python setup.py sdist
* Expand and _`install` the release tarball in isolation:
(a) Expand the tarball in a new location, not over any existing
files.
(b) Remove the old installation from site-packages (including
roman.py, and optparse.py, textwrap.py).
Install from expanded directory::
cd docutils-X.Y.Z
python setup.py install
The "install" command may require root permissions.
(c) Repeat step b) for all supported Python versions.
* Run the _`test suite` from the expanded archive directory with all
supported Python versions on all available platforms (GNU/Linux, Mac
OS X, Windows)::
cd test ; python -u alltests.py
* Add a directory X.Y.Z (where X.Y.Z is the current version number
of Docutils) in the webroot (i.e. the ``htdocs/`` directory).
Put all documentation files into it::
cd docutils-X.Y.Z
rm -rf build
cd tools/
./buildhtml.py ..
cd ..
find -name test -type d -prune -o -name \*.css -print0 \
-o -name \*.html -print0 -o -name \*.txt -print0 \
| tar -cjvf docutils-docs.tar.bz2 -T - --null
scp docutils-docs.tar.bz2 <username>@shell.sourceforge.net:
Now log in to shell.sourceforge.net and::
cd /home/groups/d/do/docutils/htdocs/
mkdir -m g+rwxs X.Y.Z
cd X.Y.Z
tar -xjvf ~/docutils-docs.tar.bz2
rm ~/docutils-docs.tar.bz2
* Upload the release tarball::
$ ftp upload.sourceforge.net
Connected to osdn.dl.sourceforge.net.
...
Name (upload.sourceforge.net:david): anonymous
331 Anonymous login ok, send your complete e-mail address as password.
Password:
...
230 Anonymous access granted, restrictions apply.
ftp> bin
200 Type set to I.
ftp> cd /incoming
250 CWD command successful.
ftp> put docutils-X.Y.Z.tar.gz
* Access the _`file release system` on SourceForge (Admin
interface). Fill in the fields:
:Package ID: docutils
:Release Name: <use release number only, e.g. 0.3>
:Release Date: <today's date>
:Status: Active
:File Name: <select the file just uploaded>
:File Type: Source .gz
:Processor Type: Platform-Independent
:Release Notes: <insert README.txt file here>
:Change Log: <insert current release notes here>
Also check the "Preserve my pre-formatted text" box.
* For verifying the integrity of the release, download the release
tarball (you may need to wait up to 30 minutes), install_ it, and
re-run the `test suite`_.
* Register with PyPI (``python setup.py register``).
* Restore ``__version_details__`` in docutils/docutils/__init__.py to
"repository" (from "release").
* Bump the `version number`_ again.
* Add a new empty section "Changes Since ..." in HISTORY.txt.
* Update the web page (web/index.txt).
* Run docutils-update on the server.
* **Send announcement email to:**
* docutils-develop@lists.sourceforge.net (also announcing the end of
the check-in freeze)
* docutils-users@lists.sourceforge.net
* doc-sig@python.org
* python-announce@python.org
* **Add a SourceForge News item, with title "Docutils X.Y.Z released"
and containing the release tarball's download URL.**
* **Register with FreshMeat.** (Add a `new release`__ for the
`Docutils project`__).
__ http://freshmeat.net/add-release/48702/
__ http://freshmeat.net/projects/docutils/
..
Local Variables:
mode: indented-text
indent-tabs-mode: nil
sentence-end-double-space: t
fill-column: 70
End:
|