[yocto-docs PATCH 4/5] system-requirements.rst: add dependencies for pdf builds

Antonin Godard
2024-11-20T15:11:05Z

With the recent changes from commit
bd6265ca323fac547a197bb516dc4a9ef3897508 ("doc: Makefile: add support
for xelatex"), the list of dependencies needs to be updated.

The initial list of dependencies was made for Ubuntu/Debian, and the
packages were translated for the other distros using pkgs.org.

Add them separately from the rest of the dependencies as they pull a
_lot_ of additional dependencies (for latex).

Notes:
- Fedora/OpenSUSE do not have the "lang-all" texlive collection, so
install all available languages.
- AlmaLinux does not seem to provide texlive-collection-fontsextra,
texlive-collection-lang*, and texlive-collection-latexextra, so add a
warning about that.

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
---
documentation/poky.yaml.in | 79 +++++++++++++++++++++++-
documentation/ref-manual/system-requirements.rst | 27 ++++++++
2 files changed, 105 insertions(+), 1 deletion(-)

diff --git a/documentation/poky.yaml.in b/documentation/poky.yaml.in
index d0c8973db27340838f78f560c01d44fb67771b25..d95b73c74ad7979609c6e7f4e1be5343968da743 100644
--- a/documentation/poky.yaml.in
+++ b/documentation/poky.yaml.in
@@ -67,8 +67,17 @@ UBUNTU_DEBIAN_HOST_PACKAGES_DOC: >-
python3-saneyaml
python3-sphinx-rtd-theme
sphinx
- texlive-latex-extra

+UBUNTU_DEBIAN_HOST_PACKAGES_DOC_PDF: >-
+ fonts-freefont-otf
+ latexmk
+ tex-gyre
+ texlive-fonts-extra
+ texlive-fonts-recommended
+ texlive-lang-all
+ texlive-latex-extra
+ texlive-latex-recommended
+ texlive-xetex

FEDORA_HOST_PACKAGES_ESSENTIAL: >-
bzip2
@@ -131,6 +140,35 @@ FEDORA_HOST_PACKAGES_DOC: >-
which
texlive-fncychap

+FEDORA_HOST_PACKAGES_DOC_PDF: >-
+ latexmk
+ texlive-collection-fontsextra
+ texlive-collection-fontsrecommended
+ texlive-collection-langarabic
+ texlive-collection-langchinese
+ texlive-collection-langcjk
+ texlive-collection-langcyrillic
+ texlive-collection-langczechslovak
+ texlive-collection-langenglish
+ texlive-collection-langeuropean
+ texlive-collection-langfrench
+ texlive-collection-langgerman
+ texlive-collection-langgreek
+ texlive-collection-langitalian
+ texlive-collection-langjapanese
+ texlive-collection-langkorean
+ texlive-collection-langother
+ texlive-collection-langpolish
+ texlive-collection-langportuguese
+ texlive-collection-langspanish
+ texlive-collection-latex
+ texlive-collection-latexextra
+ texlive-collection-latexrecommended
+ texlive-collection-xetex
+ texlive-gnu-freefont
+ texlive-tex-gyre
+ texlive-xetex
+
OPENSUSE_HOST_PACKAGES_ESSENTIAL: >-
bzip2
chrpath
@@ -171,6 +209,35 @@ OPENSUSE_HOST_PACKAGES_DOC: >-
texlive-fncychap
which

+OPENSUSE_HOST_PACKAGES_DOC_PDF: >-
+ texlive-collection-fontsextra
+ texlive-collection-fontsrecommended
+ texlive-collection-langarabic
+ texlive-collection-langchinese
+ texlive-collection-langcjk
+ texlive-collection-langcyrillic
+ texlive-collection-langczechslovak
+ texlive-collection-langenglish
+ texlive-collection-langeuropean
+ texlive-collection-langfrench
+ texlive-collection-langgerman
+ texlive-collection-langgreek
+ texlive-collection-langitalian
+ texlive-collection-langjapanese
+ texlive-collection-langkorean
+ texlive-collection-langother
+ texlive-collection-langpolish
+ texlive-collection-langportuguese
+ texlive-collection-langspanish
+ texlive-collection-latex
+ texlive-collection-latexextra
+ texlive-collection-latexrecommended
+ texlive-collection-xetex
+ texlive-gnu-freefont
+ texlive-latexmk
+ texlive-tex-gyre
+ texlive-xetex
+
ALMALINUX_HOST_PACKAGES_ESSENTIAL: >-
bzip2
ccache
@@ -224,3 +291,13 @@ ALMALINUX_HOST_PACKAGES_DOC: >-
python3-pip
texlive-fncychap
which
+
+ALMALINUX_HOST_PACKAGES_DOC_PDF: >-
+ latexmk
+ texlive-collection-fontsrecommended
+ texlive-collection-latex
+ texlive-collection-latexrecommended
+ texlive-collection-xetex
+ texlive-gnu-freefont
+ texlive-tex-gyre
+ texlive-xetex
diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst
index 50c153ad7cc68a3ad175d6aad7f4527d9e4d219b..aa1f1958da580516b7f38fa1a325d1f03364ee66 100644
--- a/documentation/ref-manual/system-requirements.rst
+++ b/documentation/ref-manual/system-requirements.rst
@@ -184,6 +184,11 @@ Here are the packages needed to build Project documentation manuals::

$ sudo apt install &UBUNTU_DEBIAN_HOST_PACKAGES_DOC;

+In addition to the previous packages, here are the packages needed to build the
+documentation in PDF format::
+
+ $ sudo apt install &UBUNTU_DEBIAN_HOST_PACKAGES_DOC_PDF;
+
Fedora Packages
---------------

@@ -197,6 +202,11 @@ Here are the packages needed to build Project documentation manuals::
$ sudo dnf install &FEDORA_HOST_PACKAGES_DOC;
$ sudo pip3 install &PIP3_HOST_PACKAGES_DOC;

+In addition to the previous packages, here are the packages needed to build the
+documentation in PDF format::
+
+ $ sudo dnf install &FEDORA_HOST_PACKAGES_DOC_PDF;
+
openSUSE Packages
-----------------

@@ -211,6 +221,11 @@ Here are the packages needed to build Project documentation manuals::
$ sudo zypper install &OPENSUSE_HOST_PACKAGES_DOC;
$ sudo pip3 install &PIP3_HOST_PACKAGES_DOC;

+In addition to the previous packages, here are the packages needed to build the
+documentation in PDF format::
+
+ $ sudo zypper install &OPENSUSE_HOST_PACKAGES_DOC_PDF;
+

AlmaLinux Packages
------------------
@@ -238,6 +253,18 @@ Here are the packages needed to build Project documentation manuals::
$ sudo dnf install &ALMALINUX_HOST_PACKAGES_DOC;
$ sudo pip3 install &PIP3_HOST_PACKAGES_DOC;

+In addition to the previous packages, here are the packages needed to build the
+documentation in PDF format::
+
+ $ sudo dnf install &ALMALINUX_HOST_PACKAGES_DOC_PDF;
+
+.. warning::
+
+ Unlike Fedora or OpenSUSE, AlmaLinux does not provide the packages
+ ``texlive-collection-fontsextra``, ``texlive-collection-lang*`` and
+ ``texlive-collection-latexextra``, so you may run into issues. These may be
+ installed using `tlmgr <https://tug.org/texlive/tlmgr.html>`_.
+
.. _system-requirements-buildtools:

Required Git, tar, Python, make and gcc Versions

--
2.46.1