[PATCH 1/1] doc: building documentation
Simon Glass
sjg at chromium.org
Fri Dec 30 18:51:15 CET 2022
Hi Heinrich,
On Thu, 29 Dec 2022 at 22:08, Heinrich Schuchardt
<heinrich.schuchardt at canonical.com> wrote:
>
> Provide a man-page describing how to build the U-Boot documentation.
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> ---
> doc/build/documentation.rst | 90 +++++++++++++++++++++++++++++++++++++
> doc/build/index.rst | 1 +
> 2 files changed, 91 insertions(+)
> create mode 100644 doc/build/documentation.rst
>
> diff --git a/doc/build/documentation.rst b/doc/build/documentation.rst
> new file mode 100644
> index 0000000000..896264dd7c
> --- /dev/null
> +++ b/doc/build/documentation.rst
> @@ -0,0 +1,90 @@
> +.. SPDX-License-Identifier: GPL-2.0+:
> +
> +Building documentation
> +======================
> +
> +The U-Boot documentation is based on the Sphinx documentation generator.
> +
> +HTML documentation
> +------------------
> +
> +The *htmldocs* target is used to build the HTML documentation. It uses the
> +`Read the Docs Sphinx theme <https://sphinx-rtd-theme.readthedocs.io/en/stable/>`_.
> +
> +.. code-block:: bash
> +
> + # Create Python environment 'myenv'
> + python3 -m venv myenv
> + # Activate the Python environment
> + . myenv/bin/activate
> + # Install build requirements
> + python3 -m pip install -r doc/sphinx/requirements.txt
> + # Build the documentation
> + make htmldocs
> + # Deactivate the Python environment
> + deactivate
> + # Display the documentation in a graphical web browser
> + x-www-browser doc/output/index.html
If this is necessary then it is a bit of a sad indictment on Python. I
would use:
pip3 install -r doc/sphinx/requirements.txt
make htmldocs
> +
> +Infodoc documentation
> +---------------------
> +
> +The *infodocs* target builds both a texinfo and an info file:
> +
> +.. code-block:: bash
> +
> + # Create Python environment 'myenv'
> + python3 -m venv myenv
> + # Activate the Python environment
> + . myenv/bin/activate
> + # Install build requirements
> + python3 -m pip install -r doc/sphinx/requirements.txt
> + # Build the documentation
> + make infodocs
> + # Deactivate the Python environment
> + deactivate
> + # Display the documentation
> + info doc/output/texinfo/u-boot.info
> +
> +PDF documentation
> +-----------------
> +
> +The *pdfdocs* target is meant to be used to build PDF documenation.
> +As v2023.01 it fails with 'LaTeX Error: Too deeply nested'.
> +
> +We can use texi2pdf instead:
> +
> +.. code-block:: bash
> +
> + # Create Python environment 'myenv'
> + python3 -m venv myenv
> + # Activate the Python environment
> + . myenv/bin/activate
> + # Install build requirements
> + python3 -m pip install -r doc/sphinx/requirements.txt
> + # Build the documentation
> + make texinfodocs
> + # Deactivate the Python environment
> + deactivate
> + # Convert to PDF
> + texi2pdf doc/output/texinfo/u-boot.texi
> +
> +Texinfo documentation
> +---------------------
> +
> +To build only the texinfo documentation the *texinfodocs* target is used:
> +
> +.. code-block:: bash
> +
> + # Create Python environment 'myenv'
> + python3 -m venv myenv
> + # Activate the Python environment
> + . myenv/bin/activate
> + # Install build requirements
> + python3 -m pip install -r doc/sphinx/requirements.txt
> + # Build the documentation
> + make texinfodocs
> + # Deactivate the Python environment
> + deactivate
> +
> +The output is in file *doc/output/texinfo/u-boot.texi*.
> diff --git a/doc/build/index.rst b/doc/build/index.rst
> index 9a8105db21..dc9cde4001 100644
> --- a/doc/build/index.rst
> +++ b/doc/build/index.rst
> @@ -12,3 +12,4 @@ Build U-Boot
> docker
> tools
> buildman
> + documentation
> --
> 2.37.2
>
Regards,
Simon
More information about the U-Boot
mailing list