Document bindep usage

We use bindep to install our requirements, explain how to use it.

Also, add the bindep tox environment.

See also
https://docs.openstack.org/infra/manual/drivers.html#package-requirements

Change-Id: Ief208e5649223d9d3577ee0a30afdc7db35a86a9
This commit is contained in:
Andreas Jaeger 2017-02-24 13:17:49 +00:00 committed by Alexandra Settle
parent 0426175357
commit b06db69322
3 changed files with 35 additions and 14 deletions

View File

@ -64,6 +64,12 @@ To build a specific guide with a PDF file, add a ``-pdf`` option like::
The generated PDF file will be copied to the root directory of the The generated PDF file will be copied to the root directory of the
generated HTML documentation. generated HTML documentation.
To install all requirements to execute the commands above check the
output of the ``bindep`` command, it reports missing requirements for
all build targets::
$ tox -e bindep
Testing of changes and building of the manual Testing of changes and building of the manual
============================================= =============================================

View File

@ -13,37 +13,41 @@ file with specific sections that run jobs using the `Tox
<https://tox.readthedocs.org/en/latest/>`_ tool, a virtualenv-based <https://tox.readthedocs.org/en/latest/>`_ tool, a virtualenv-based
automation of test activities. automation of test activities.
Tox prerequisites and installation Install dependencies for building documentation
---------------------------------- -----------------------------------------------
**Install the prerequisites for Tox:**
* On Ubuntu or Debian: * On Ubuntu or Debian:
.. code-block:: console .. code-block:: console
# apt-get install gcc gettext python-dev libxml2-dev libxslt1-dev \ # apt-get install python-pip
zlib1g-dev # pip install tox
$ tox -e bindep
You may need to use :command:`pip install` for some packages. # apt-get install <indicated missing package names>
* On RHEL or CentOS including Fedora: * On RHEL or CentOS including Fedora:
.. code-block:: console .. code-block:: console
# yum install gcc python-devel libxml2-devel libxslt-devel # yum install python-pip
# pip install tox
$ tox -e bindep
# yum install <indicated missing package names>
* On openSUSE or SUSE Linux Enterprise: * On openSUSE or SUSE Linux Enterprise:
.. code-block:: console .. code-block:: console
# zypper install gcc python-devel libxml2-devel libxslt-devel # zypper in python-pip
# pip install tox
$ tox -e bindep
# zypper in <indicated missing package names>
**Install python-tox:** .. note::
.. code-block:: console This will install all required packages for building both RST and
PDF files. If you do not build PDF files, you do not need to install
# pip install tox the ``texlive`` packages.
Build workflow Build workflow
-------------- --------------

11
tox.ini
View File

@ -112,6 +112,17 @@ commands = {toxinidir}/tools/generatepot-rst.sh openstack-manuals 1 {posargs}
commands = commands =
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:bindep]
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files, and develop mode disabled
# explicitly to avoid unnecessarily installing the checked-out repo too (this
# further relies on "tox.skipsdist = True" above).
deps = bindep
commands = bindep test
usedevelop = False
[doc8] [doc8]
# Settings for doc8: # Settings for doc8:
# Ignore target directories # Ignore target directories