diff mbox series

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

Message ID 20241120-update-doc-deps-v1-4-50e267ae4123@bootlin.com
State Superseded
Headers show
Series Update the dependencies in poky.yaml.in | expand

Commit Message

Antonin Godard Nov. 20, 2024, 3:10 p.m. UTC
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(-)

Comments

Quentin Schulz Nov. 25, 2024, 6:11 p.m. UTC | #1
Hi Antonin,

On 11/20/24 4:10 PM, Antonin Godard via lists.yoctoproject.org wrote:
> 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

I'm wondering if we really need all languages or if we were too lazy to 
figure out which ones we actually need.

Also, you should be able to avoid listing them all by using 
'texlive-collection-lang*', dnf should be able to handle that just fine.

> +  texlive-collection-latex
> +  texlive-collection-latexextra
> +  texlive-collection-latexrecommended

latex-extra already requires latex-recommended which already requires 
latex so only the former is necessary.

Cheers,
Quentin
Antonin Godard Nov. 29, 2024, 2:06 p.m. UTC | #2
Hi Quentin,

On Mon Nov 25, 2024 at 7:11 PM CET, Quentin Schulz wrote:
> Hi Antonin,
>
> On 11/20/24 4:10 PM, Antonin Godard via lists.yoctoproject.org wrote:
>> 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
>
> I'm wondering if we really need all languages or if we were too lazy to 
> figure out which ones we actually need.

Actually, I'd go with all of them... the initial reason for including those is
because contributors in the release notes may have names with international
characters. I'd include them all "to be safe" and avoid wondering about LaTeX
errors later.

> Also, you should be able to avoid listing them all by using 
> 'texlive-collection-lang*', dnf should be able to handle that just fine.

Thanks for the tip. I should be able to test that with my container scripts soon :)

>> +  texlive-collection-latex
>> +  texlive-collection-latexextra
>> +  texlive-collection-latexrecommended
>
> latex-extra already requires latex-recommended which already requires 
> latex so only the former is necessary.

+1


Thank you,
Antonin
Quentin Schulz Nov. 29, 2024, 2:28 p.m. UTC | #3
Hi Antonin,

On 11/29/24 3:06 PM, Antonin Godard via lists.yoctoproject.org wrote:
> Hi Quentin,
> 
> On Mon Nov 25, 2024 at 7:11 PM CET, Quentin Schulz wrote:
>> Hi Antonin,
>>
>> On 11/20/24 4:10 PM, Antonin Godard via lists.yoctoproject.org wrote:
>>> 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
>>
>> I'm wondering if we really need all languages or if we were too lazy to
>> figure out which ones we actually need.
> 
> Actually, I'd go with all of them... the initial reason for including those is
> because contributors in the release notes may have names with international
> characters. I'd include them all "to be safe" and avoid wondering about LaTeX
> errors later.
> 

Ah true, that was the reason, I had forgotten already with my name with 
boring letters :)

>> Also, you should be able to avoid listing them all by using
>> 'texlive-collection-lang*', dnf should be able to handle that just fine.
> 
> Thanks for the tip. I should be able to test that with my container scripts soon :)
> 
>>> +  texlive-collection-latex
>>> +  texlive-collection-latexextra
>>> +  texlive-collection-latexrecommended
>>
>> latex-extra already requires latex-recommended which already requires
>> latex so only the former is necessary.
> 
> +1
> 

Actually I think this is potentially a bad recommendation. It depends 
exactly what we need. But if we need stuff from latex-recommended or 
latex, we should explicitly list either or both, because it would 
prevent issues when the distro decides latexextra doesn't require 
latexrecommended which doesn't require latex anymore. This has happened 
to me (in a different context) when upgrading from Debian Bullseye to 
Bookworm.

Cheers,
Quentin
Antonin Godard Nov. 29, 2024, 3:21 p.m. UTC | #4
Hi Quentin,

On Fri Nov 29, 2024 at 3:28 PM CET, Quentin Schulz wrote:
[...]
>>>> +  texlive-collection-latex
>>>> +  texlive-collection-latexextra
>>>> +  texlive-collection-latexrecommended
>>>
>>> latex-extra already requires latex-recommended which already requires
>>> latex so only the former is necessary.
>> 
>> +1
>> 
>
> Actually I think this is potentially a bad recommendation. It depends 
> exactly what we need. But if we need stuff from latex-recommended or 
> latex, we should explicitly list either or both, because it would 
> prevent issues when the distro decides latexextra doesn't require 
> latexrecommended which doesn't require latex anymore. This has happened 
> to me (in a different context) when upgrading from Debian Bullseye to 
> Bookworm.

Okay, let's keep all of them to be safe then.


Thanks,
Antonin
diff mbox series

Patch

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