Drop support for Python 2.3.
[docutils.git] / docs / dev / distributing.txt
blob9224a3000ada4ed83e0f41d4fa7ca8f0f1c38d56
1 ===============================
2  Docutils_ Distributor's Guide
3 ===============================
5 :Author: Lea Wiemann
6 :Contact: docutils-develop@lists.sourceforge.net
7 :Revision: $Revision$
8 :Date: $Date$
9 :Copyright: This document has been placed in the public domain.
11 .. _Docutils: http://docutils.sourceforge.net/
13 .. contents::
15 This document describes how to create packages of Docutils (e.g. for
16 shipping with a Linux distribution).  If you have any questions,
17 please direct them to the Docutils-develop_ mailing list.
19 First, please download the most current `release tarball`_ and unpack
20 it.
22 .. _Docutils-develop: ../user/mailing-lists.html#docutils-develop
23 .. _release tarball: http://docutils.sourceforge.net/#download
26 Dependencies
27 ============
29 Docutils has the following dependencies:
31 * Python 2.4 or later is required.  Use ">= Python 2.4" in the
32   dependencies.
34 * Docutils may optionally make use of the PIL (`Python Imaging
35   Library`_).  If PIL is present, it is automatically detected by
36   Docutils.
38 * There is one file in the ``extras/`` directory of the Docutils
39   distribution, ``roman.py``. It is automatically installed by the setup
40   script (when calling "python setup.py install").
42 .. _Python Imaging Library: http://www.pythonware.com/products/pil/
45 Python Files
46 ============
48 The Docutils Python files must be installed into the
49 ``site-packages/`` directory of Python.  Running ``python setup.py
50 install`` should do the trick, but if you want to place the files
51 yourself, you can just install the ``docutils/`` directory of the
52 Docutils tarball to ``/usr/lib/python/site-packages/docutils/``.  In
53 this case you should also compile the Python files to ``.pyc`` and/or
54 ``.pyo`` files so that Docutils doesn't need to be recompiled every
55 time it's executed.
58 Executables
59 ===========
61 The executable front-end tools are located in the ``tools/`` directory
62 of the Docutils tarball.
64 The ``rst2*.py`` tools (except ``rst2newlatex.py``) are intended for
65 end-users.  You should install them to ``/usr/bin/``.  You do not need
66 to change the names (e.g. to ``docutils-rst2html.py``) because the
67 ``rst2`` prefix is unique.
70 Documentation
71 =============
73 The documentation should be generated using ``buildhtml.py``.  To
74 generate HTML for all documentation files, go to the ``tools/``
75 directory and run::
77     # Place html4css1.css in base directory.
78     cp ../docutils/writers/html4css1/html4css1.css ..
79     ./buildhtml.py --stylesheet-path=../html4css1.css ..
81 Then install the following files to ``/usr/share/doc/docutils/`` (or
82 wherever you install documentation):
84 * All ``.html`` and ``.txt`` files in the base directory.
86 * The ``docs/`` directory.
88   Do not install the contents of the ``docs/`` directory directly to
89   ``/usr/share/doc/docutils/``; it's incomplete and would contain
90   invalid references!
92 * The ``licenses/`` directory.
94 * ``html4css1.css`` in the base directory.
97 Removing the ``.txt`` Files
98 ---------------------------
100 If you are tight with disk space, you can remove all ``.txt`` files in
101 the tree except for:
103 * those in the ``licenses/`` directory because they have not been
104   processed to HTML and
106 * ``user/rst/cheatsheet.txt`` and ``user/rst/demo.txt``, which should
107   be readable in source form.
109 Before you remove the ``.txt`` files you should rerun ``buildhtml.py``
110 with the ``--no-source-link`` switch to avoid broken references to the
111 source files.
114 Other Files
115 ===========
117 You may want to install the Emacs-Lisp files
118 ``tools/editors/emacs/*.el`` into the appropriate directory.
121 Configuration File
122 ==================
124 It is possible to have a system-wide configuration file at
125 ``/etc/docutils.conf``.  However, this is usually not necessary.  You
126 should *not* install ``tools/docutils.conf`` into ``/etc/``.
129 Tests
130 =====
132 While you probably do not need to ship the tests with your
133 distribution, you can test your package by installing it and then
134 running ``alltests.py`` from the ``tests/`` directory of the Docutils
135 tarball.