| 
									
										
										
										
											2019-12-28 01:25:16 +01:00
										 |  |  | .. _buildhosts:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ==========
 | 
					
						
							|  |  |  | Buildhosts
 | 
					
						
							|  |  |  | ==========
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-04 16:42:13 +01:00
										 |  |  | To get best results from build, its recommend to install additional packages
 | 
					
						
							|  |  |  | on build hosts.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-28 01:25:16 +01:00
										 |  |  | .. sidebar:: This article needs some work
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    If you have any contribution send us your :pull:`PR <../pulls>`, see
 | 
					
						
							|  |  |  |    :ref:`how to contribute`.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-04 16:42:13 +01:00
										 |  |  | .. contents:: Contents
 | 
					
						
							|  |  |  |    :depth: 2
 | 
					
						
							|  |  |  |    :local: | 
					
						
							|  |  |  |    :backlinks: entry
 | 
					
						
							| 
									
										
										
										
											2019-12-28 01:25:16 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | .. _docs build:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Build docs
 | 
					
						
							|  |  |  | ==========
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. _Graphviz: https://graphviz.gitlab.io
 | 
					
						
							|  |  |  | .. _ImageMagick: https://www.imagemagick.org
 | 
					
						
							|  |  |  | .. _XeTeX: https://tug.org/xetex/
 | 
					
						
							|  |  |  | .. _dvisvgm: https://dvisvgm.de/
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. sidebar:: Sphinx build needs
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    - ImageMagick_
 | 
					
						
							|  |  |  |    - Graphviz_
 | 
					
						
							|  |  |  |    - XeTeX_
 | 
					
						
							|  |  |  |    - dvisvgm_
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Most of the sphinx requirements are installed from :origin:`setup.py` and the
 | 
					
						
							|  |  |  | docs can be build from scratch with ``make docs``.  For better math and image
 | 
					
						
							|  |  |  | processing additional packages are needed.  The XeTeX_ needed not only for PDF
 | 
					
						
							|  |  |  | creation, its also needed for :ref:`math` when HTML output is build.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | To be able to do :ref:`sphinx:math-support` without CDNs, the math are rendered
 | 
					
						
							| 
									
										
										
										
											2020-01-08 18:09:36 +01:00
										 |  |  | as images (``sphinx.ext.imgmath`` extension).
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Here is the extract from the :origin:`docs/conf.py` file, setting math renderer
 | 
					
						
							|  |  |  | to ``imgmath``:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. literalinclude:: ../conf.py
 | 
					
						
							|  |  |  |    :language: python
 | 
					
						
							|  |  |  |    :start-after: # sphinx.ext.imgmath setup
 | 
					
						
							|  |  |  |    :end-before: # sphinx.ext.imgmath setup END
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | If your docs build (``make docs``) shows warnings like this::
 | 
					
						
							| 
									
										
										
										
											2019-12-28 01:25:16 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |    WARNING: dot(1) not found, for better output quality install \
 | 
					
						
							|  |  |  |             graphviz from http://www.graphviz.org
 | 
					
						
							|  |  |  |    ..
 | 
					
						
							|  |  |  |    WARNING: LaTeX command 'latex' cannot be run (needed for math \
 | 
					
						
							|  |  |  |             display), check the imgmath_latex setting
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | you need to install additional packages on your build host, to get better HTML
 | 
					
						
							|  |  |  | output.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. tabs::
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    .. group-tab:: Ubuntu / debian
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .. code-block:: sh
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |          $ sudo apt install graphviz imagemagick texlive-xetex librsvg2-bin
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    .. group-tab:: Arch Linux
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .. code-block:: sh
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |          $ sudo pacman -S graphviz imagemagick texlive-bin extra/librsvg
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    .. group-tab::  Fedora / RHEL
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .. code-block:: sh
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |          $ sudo dnf install graphviz graphviz-gd texlive-xetex-bin librsvg2-tools
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | For PDF output you also need:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. tabs::
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    .. group-tab:: Ubuntu / debian
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .. code:: sh
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |          $ sudo apt texlive-latex-recommended texlive-extra-utils ttf-dejavu
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    .. group-tab:: Arch Linux
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .. code:: sh
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       	 $ sudo pacman -S texlive-core texlive-latexextra ttf-dejavu
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    .. group-tab::  Fedora / RHEL
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .. code:: sh
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       	 $ sudo dnf install \
 | 
					
						
							|  |  |  | 	        texlive-collection-fontsrecommended texlive-collection-latex \
 | 
					
						
							|  |  |  | 		dejavu-sans-fonts dejavu-serif-fonts dejavu-sans-mono-fonts
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-08 18:09:36 +01:00
										 |  |  | .. _sh lint:
 | 
					
						
							| 
									
										
										
										
											2019-12-28 01:25:16 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-08 18:09:36 +01:00
										 |  |  | Lint shell scripts
 | 
					
						
							|  |  |  | ==================
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. _ShellCheck: https://github.com/koalaman/shellcheck
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | To lint shell scripts, we use ShellCheck_ - A shell script static analysis tool.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. SNIP sh lint requirements
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. tabs::
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    .. group-tab:: Ubuntu / debian
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .. code-block:: sh
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |          $ sudo apt install shellcheck
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    .. group-tab:: Arch Linux
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .. code-block:: sh
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |          $ sudo pacman -S shellcheck
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    .. group-tab::  Fedora / RHEL
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .. code-block:: sh
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |          $ sudo dnf install ShellCheck
 | 
					
						
							| 
									
										
										
										
											2019-12-28 01:25:16 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-08 18:09:36 +01:00
										 |  |  | .. SNAP sh lint requirements
 |