Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3.6 KiB
Buildhosts
This article needs some work
If you have any contribution send us your PR <../pulls>
, see how to contribute
.
Contents
To get best results from build, its recommend to install additional packages on build hosts (see searxng.sh
).:
sudo -H ./utils/searxng.sh install buildhost
This will install packages needed by searx:
$DOCS_BUILD/includes/searxng.rst
and packages needed to build docuemtation and run tests:
$DOCS_BUILD/includes/searxng.rst
Build docs
Sphinx build needs
Most of the sphinx requirements are installed from setup.py
and the docs can be build from scratch with make docs.html
. For better math and image processing additional packages are needed. The XeTeX needed not only for PDF creation, its also needed for math
when HTML output is build.
To be able to do sphinx:math-support
without CDNs, the math are rendered as images (sphinx.ext.imgmath
extension).
Here is the extract from the docs/conf.py
file, setting math renderer to imgmath
:
../conf.py
If your docs build (make docs.html
) shows warnings like this:
WARNING: dot(1) not found, for better output quality install \
graphviz from https://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.
Ubuntu / debian
sudo apt install graphviz imagemagick texlive-xetex librsvg2-bin $
Arch Linux
sudo pacman -S graphviz imagemagick texlive-bin extra/librsvg $
Fedora / RHEL
sudo dnf install graphviz graphviz-gd texlive-xetex-bin librsvg2-tools $
For PDF output you also need:
Ubuntu / debian
sudo apt texlive-latex-recommended texlive-extra-utils ttf-dejavu $
Arch Linux
sudo pacman -S texlive-core texlive-latexextra ttf-dejavu $
Fedora / RHEL
sudo dnf install \
$ texlive-collection-fontsrecommended texlive-collection-latex \
dejavu-sans-fonts dejavu-serif-fonts dejavu-sans-mono-fonts \
ImageMagick
Lint shell scripts
To lint shell scripts, we use ShellCheck - A shell script static analysis tool.
Ubuntu / debian
sudo apt install shellcheck $
Arch Linux
sudo pacman -S shellcheck $
Fedora / RHEL
sudo dnf install ShellCheck $