diff mbox series

[yocto-docs,v2,1/6] Gather dependencies in poky.yaml.in

Message ID 20241204-update-doc-deps-v2-1-1d9b4063476f@bootlin.com
State New
Headers show
Series Update the dependencies in poky.yaml.in | expand

Commit Message

Antonin Godard Dec. 4, 2024, 12:23 p.m. UTC
We used to have packages here and there in system-requirements.rst for
each distro. Instead, gather all the dependencies in poky.yaml.in so we
have an overview of what we provide for each distro.

Use yaml ">" to list the dependencies in alphabetical order, one entry
per line, which makes them easier to read and compare among distros.

Rename UBUNTU_… variables to UBUNTU_DEBIAN_…, since these are used for
both distros.

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
---
 documentation/brief-yoctoprojectqs/index.rst     |   2 +-
 documentation/poky.yaml.in                       | 218 ++++++++++++++++++++---
 documentation/ref-manual/system-requirements.rst |  22 ++-
 3 files changed, 207 insertions(+), 35 deletions(-)

Comments

Quentin Schulz Dec. 6, 2024, 1:51 p.m. UTC | #1
Hi Antonin,

On 12/4/24 1:23 PM, Antonin Godard wrote:
> We used to have packages here and there in system-requirements.rst for
> each distro. Instead, gather all the dependencies in poky.yaml.in so we
> have an overview of what we provide for each distro.
> 
> Use yaml ">" to list the dependencies in alphabetical order, one entry

Yet >- is used :)

> per line, which makes them easier to read and compare among distros.
> 
> Rename UBUNTU_… variables to UBUNTU_DEBIAN_…, since these are used for
> both distros.
> 
> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
> ---
>   documentation/brief-yoctoprojectqs/index.rst     |   2 +-
>   documentation/poky.yaml.in                       | 218 ++++++++++++++++++++---
>   documentation/ref-manual/system-requirements.rst |  22 ++-
>   3 files changed, 207 insertions(+), 35 deletions(-)
> 
> diff --git a/documentation/brief-yoctoprojectqs/index.rst b/documentation/brief-yoctoprojectqs/index.rst
> index c5400e4ac8dafb9e3d1e4c14a065d02ac3e2f7a7..3d249eefaae35239b92c8a2f8dedf27ec2dbdca0 100644
> --- a/documentation/brief-yoctoprojectqs/index.rst
> +++ b/documentation/brief-yoctoprojectqs/index.rst
> @@ -78,7 +78,7 @@ You must install essential host packages on your build host. The
>   following command installs the host packages based on an Ubuntu
>   distribution::
>   
> -   $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
> +   $ sudo apt install &UBUNTU_DEBIAN_HOST_PACKAGES_ESSENTIAL;
>   
>   .. note::
>   
> diff --git a/documentation/poky.yaml.in b/documentation/poky.yaml.in
> index 66f758fe85fcd10291f00902639b43a1da639b0f..d03809f557960d10a6b9a2753a65c80937c62e13 100644
> --- a/documentation/poky.yaml.in
> +++ b/documentation/poky.yaml.in
> @@ -1,3 +1,7 @@
> +#
> +# Macros used in the documentation
> +#
> +
>   DISTRO : "5.1"
>   DISTRO_NAME_NO_CAP : "styhead"
>   DISTRO_NAME : "Styhead"
> @@ -10,31 +14,6 @@ BITBAKE_SERIES : ""
>   YOCTO_DL_URL : "https://downloads.yoctoproject.org/"
>   YOCTO_AB_URL : "https://autobuilder.yoctoproject.org/"
>   YOCTO_RELEASE_DL_URL : "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;"
> -UBUNTU_HOST_PACKAGES_ESSENTIAL : "gawk wget git diffstat unzip texinfo gcc \
> -     build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
> -     xz-utils debianutils iputils-ping python3-git python3-jinja2 \
> -     python3-subunit zstd liblz4-tool file locales libacl1"
> -FEDORA_HOST_PACKAGES_ESSENTIAL : "gawk make wget tar bzip2 gzip python3 unzip perl patch \
> -     diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \
> -     ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \
> -     python3-pexpect findutils which file cpio python python3-pip xz python3-GitPython \
> -     python3-jinja2 rpcgen perl-FindBin perl-File-Compare \
> -     perl-File-Copy perl-locale zstd lz4 hostname glibc-langpack-en libacl"
> -OPENSUSE_HOST_PACKAGES_ESSENTIAL : "python gcc gcc-c++ git chrpath make wget python-xml \
> -     diffstat makeinfo python-curses patch socat python3 python3-curses tar python3-pip \
> -     python3-pexpect xz which python3-Jinja2 rpcgen \
> -     zstd lz4 bzip2 gzip hostname libacl1
> -     \n\   $ sudo pip3 install GitPython"
> -ALMALINUX_HOST_PACKAGES_ESSENTIAL : "-y epel-release
> -     \n\   $ sudo yum install dnf-plugins-core
> -     \n\   $ sudo dnf config-manager --set-enabled crb
> -     \n\   $ sudo dnf makecache
> -     \n\   $ sudo dnf install gawk make wget tar bzip2 gzip python3 unzip perl patch \
> -     diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath ccache \
> -     socat perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3-pip \
> -     python3-GitPython python3-jinja2 python3-pexpect xz which \
> -     rpcgen zstd lz4 cpio glibc-langpack-en libacl"
> -PIP3_HOST_PACKAGES_DOC : "$ sudo pip3 install sphinx sphinx_rtd_theme pyyaml"
>   MIN_PYTHON_VERSION : "3.8.0"
>   MIN_TAR_VERSION : "1.28"
>   MIN_GIT_VERSION : "1.8.3.1"
> @@ -46,3 +25,192 @@ MIN_DISK_SPACE : "90"
>   MIN_DISK_SPACE_RM_WORK : "40"
>   # RAM (Gbytes) needed to generate qemux86-64 core-image-sato on Ubuntu 22.04 (x86-64) on a 4 core system
>   MIN_RAM : "8"
> +
> +#
> +# Dependencies
> +#
> +
> +# Shared between distros
> +PIP3_HOST_PACKAGES_DOC: sphinx sphinx_rtd_theme pyyaml
> +
> +UBUNTU_DEBIAN_HOST_PACKAGES_ESSENTIAL: >-
> +  build-essential
> +  chrpath
> +  cpio
> +  debianutils
> +  diffstat
> +  file
> +  gawk
> +  gcc
> +  git
> +  iputils-ping
> +  libacl1
> +  liblz4-tool
> +  locales
> +  python3
> +  python3-git
> +  python3-jinja2
> +  python3-pexpect
> +  python3-pip
> +  python3-subunit
> +  socat
> +  texinfo
> +  unzip
> +  wget
> +  xz-utils
> +  zstd
> +
> +UBUNTU_DEBIAN_HOST_PACKAGES_DOC: >-
> +  git
> +  inkscape
> +  make
> +  python3-saneyaml
> +  python3-sphinx-rtd-theme
> +  sphinx
> +  texlive-latex-extra
> +
> +
> +FEDORA_HOST_PACKAGES_ESSENTIAL: >-
> +  bzip2
> +  ccache

I'm wondering if this is really required?

> +  chrpath
> +  cpio
> +  cpp
> +  diffstat
> +  diffutils
> +  file
> +  findutils
> +  gawk
> +  gcc
> +  gcc-c++
> +  git
> +  glibc-devel
> +  glibc-langpack-en
> +  gzip
> +  hostname
> +  libacl
> +  lz4
> +  make
> +  patch
> +  perl
> +  perl-Data-Dumper
> +  perl-File-Compare
> +  perl-File-Copy
> +  perl-FindBin
> +  perl-Text-ParseWords
> +  perl-Thread-Queue
> +  perl-bignum
> +  perl-locale
> +  python

I'm wondering if this is required? I guess the times we could have 
python3 and python2 code mixed is over?

> +  python3
> +  python3-GitPython
> +  python3-jinja2
> +  python3-pexpect
> +  python3-pip
> +  rpcgen
> +  socat
> +  tar
> +  texinfo
> +  unzip
> +  wget
> +  which
> +  xz
> +  zstd
> +
> +FEDORA_HOST_PACKAGES_DOC: >-
> +  git
> +  inkscape
> +  make
> +  python3-pip
> +  python3-saneyaml
> +  python3-sphinx-rtd-theme
> +  sphinx

The three packages above are supposed to be coming from pip according to 
the current version of the instructions.

> +  texlive-fncychap
> +  texlive-latex-extra

This isn't currently part of the instructions.

> +  which
> +
> +OPENSUSE_HOST_PACKAGES_ESSENTIAL: >-
> +  bzip2
> +  chrpath
> +  diffstat
> +  gcc
> +  gcc-c++
> +  git
> +  gzip
> +  hostname
> +  libacl1
> +  lz4
> +  make
> +  makeinfo
> +  patch
> +  python
> +  python-curses

Ditto for python and python-curses, especialy since we have 
python3-curses below.

> +  python-xml
> +  python3
> +  python3-Jinja2
> +  python3-curses
> +  python3-pexpect
> +  python3-pip
> +  rpcgen
> +  socat
> +  tar
> +  wget
> +  which
> +  xz
> +  zstd
> +
> +OPENSUSE_PIP3_HOST_PACKAGES_ESSENTIAL: GitPython
> +
> +OPENSUSE_HOST_PACKAGES_DOC: >-
> +  git
> +  inkscape
> +  make
> +  python3-pip
> +  texlive-fncychap
> +  which
> +
> +ALMALINUX_HOST_PACKAGES_ESSENTIAL: >-
> +  bzip2
> +  ccache

This is aligned with Fedora but I'm still wondering if it actually is a 
requirement (well, if you INHERIT ccache, yes).

> +  chrpath
> +  cpio
> +  cpp
> +  diffstat
> +  diffutils
> +  gawk
> +  gcc
> +  gcc-c++
> +  git
> +  glibc-devel
> +  glibc-langpack-en
> +  gzip

The original list had "install" but it's gone here, on purpose?

Cheers,
Quentin
Antonin Godard Dec. 9, 2024, 5:02 p.m. UTC | #2
Hi Quentin,

On Fri Dec 6, 2024 at 2:51 PM CET, Quentin Schulz wrote:
[...]
>> +FEDORA_HOST_PACKAGES_ESSENTIAL: >-
>> +  bzip2
>> +  ccache
>
> I'm wondering if this is really required?

I'm not sure either. For now, this series focuses on updating the dependencies
for the recent PDF additions. Optimizing this list will require more work, and
is related to an open bug on bugzilla
(https://bugzilla.yoctoproject.org/show_bug.cgi?id=14873).

I'm trying to get a clean base and a helper container script in to make this
easier for me and others to do this (adding/removing things from the list).

But I will definitely go back to your comments as you are indeed pointing out
things that might be unneeded now, indeed.

>> +  chrpath
>> +  cpio
>> +  cpp
>> +  diffstat
>> +  diffutils
>> +  file
>> +  findutils
>> +  gawk
>> +  gcc
>> +  gcc-c++
>> +  git
>> +  glibc-devel
>> +  glibc-langpack-en
>> +  gzip
>> +  hostname
>> +  libacl
>> +  lz4
>> +  make
>> +  patch
>> +  perl
>> +  perl-Data-Dumper
>> +  perl-File-Compare
>> +  perl-File-Copy
>> +  perl-FindBin
>> +  perl-Text-ParseWords
>> +  perl-Thread-Queue
>> +  perl-bignum
>> +  perl-locale
>> +  python
>
> I'm wondering if this is required? I guess the times we could have 
> python3 and python2 code mixed is over?
>
>> +  python3
>> +  python3-GitPython
>> +  python3-jinja2
>> +  python3-pexpect
>> +  python3-pip
>> +  rpcgen
>> +  socat
>> +  tar
>> +  texinfo
>> +  unzip
>> +  wget
>> +  which
>> +  xz
>> +  zstd
>> +
>> +FEDORA_HOST_PACKAGES_DOC: >-
>> +  git
>> +  inkscape
>> +  make
>> +  python3-pip
>> +  python3-saneyaml
>> +  python3-sphinx-rtd-theme
>> +  sphinx
>
> The three packages above are supposed to be coming from pip according to 
> the current version of the instructions.

You're right, I guess I mixed things up with the Ubuntu instructions. I think
initially I wanted to provide a common base for all distros but it's not a good
idea. I'll revert this and keep the same content as in the previous instructions.

>> +  texlive-fncychap
>> +  texlive-latex-extra
>
> This isn't currently part of the instructions.
>
>> +  which
>> +
>> +OPENSUSE_HOST_PACKAGES_ESSENTIAL: >-
>> +  bzip2
>> +  chrpath
>> +  diffstat
>> +  gcc
>> +  gcc-c++
>> +  git
>> +  gzip
>> +  hostname
>> +  libacl1
>> +  lz4
>> +  make
>> +  makeinfo
>> +  patch
>> +  python
>> +  python-curses
>
> Ditto for python and python-curses, especialy since we have 
> python3-curses below.
>
>> +  python-xml
>> +  python3
>> +  python3-Jinja2
>> +  python3-curses
>> +  python3-pexpect
>> +  python3-pip
>> +  rpcgen
>> +  socat
>> +  tar
>> +  wget
>> +  which
>> +  xz
>> +  zstd
>> +
>> +OPENSUSE_PIP3_HOST_PACKAGES_ESSENTIAL: GitPython
>> +
>> +OPENSUSE_HOST_PACKAGES_DOC: >-
>> +  git
>> +  inkscape
>> +  make
>> +  python3-pip
>> +  texlive-fncychap
>> +  which
>> +
>> +ALMALINUX_HOST_PACKAGES_ESSENTIAL: >-
>> +  bzip2
>> +  ccache
>
> This is aligned with Fedora but I'm still wondering if it actually is a 
> requirement (well, if you INHERIT ccache, yes).
>
>> +  chrpath
>> +  cpio
>> +  cpp
>> +  diffstat
>> +  diffutils
>> +  gawk
>> +  gcc
>> +  gcc-c++
>> +  git
>> +  glibc-devel
>> +  glibc-langpack-en
>> +  gzip
>
> The original list had "install" but it's gone here, on purpose?

No, must be a mistake from me.


Thanks!
Antonin
Quentin Schulz Dec. 9, 2024, 5:30 p.m. UTC | #3
Hi Antonin,

On 12/9/24 6:02 PM, Antonin Godard wrote:
> Hi Quentin,
> 
> On Fri Dec 6, 2024 at 2:51 PM CET, Quentin Schulz wrote:
> [...]
>>> +FEDORA_HOST_PACKAGES_ESSENTIAL: >-
>>> +  bzip2
>>> +  ccache
>>
>> I'm wondering if this is really required?
> 
> I'm not sure either. For now, this series focuses on updating the dependencies
> for the recent PDF additions. Optimizing this list will require more work, and
> is related to an open bug on bugzilla
> (https://bugzilla.yoctoproject.org/show_bug.cgi?id=14873).
> 
> I'm trying to get a clean base and a helper container script in to make this
> easier for me and others to do this (adding/removing things from the list).
> 
> But I will definitely go back to your comments as you are indeed pointing out
> things that might be unneeded now, indeed.
> 

Not a blocker for this patch (or series), one thing at a time :) Just 
wanted to raise this as I went through the list and it seemed odd to me.

Cheers,
Quentin
Antonin Godard Dec. 10, 2024, 9:58 a.m. UTC | #4
Hi Quentin,

On Fri Dec 6, 2024 at 2:51 PM CET, Quentin Schulz wrote:
[...]
>> +ALMALINUX_HOST_PACKAGES_ESSENTIAL: >-
>> +  bzip2
>> +  ccache
>
> This is aligned with Fedora but I'm still wondering if it actually is a 
> requirement (well, if you INHERIT ccache, yes).
>
>> +  chrpath
>> +  cpio
>> +  cpp
>> +  diffstat
>> +  diffutils
>> +  gawk
>> +  gcc
>> +  gcc-c++
>> +  git
>> +  glibc-devel
>> +  glibc-langpack-en
>> +  gzip
>
> The original list had "install" but it's gone here, on purpose?

I don't think it did actually. I see the "yum install" and "dnf install"
commands but not the "install" package.


Antonin
Quentin Schulz Dec. 10, 2024, 10:29 a.m. UTC | #5
Hi Antonin,

On 12/10/24 10:58 AM, Antonin Godard wrote:
> Hi Quentin,
> 
> On Fri Dec 6, 2024 at 2:51 PM CET, Quentin Schulz wrote:
> [...]
>>> +ALMALINUX_HOST_PACKAGES_ESSENTIAL: >-
>>> +  bzip2
>>> +  ccache
>>
>> This is aligned with Fedora but I'm still wondering if it actually is a
>> requirement (well, if you INHERIT ccache, yes).
>>
>>> +  chrpath
>>> +  cpio
>>> +  cpp
>>> +  diffstat
>>> +  diffutils
>>> +  gawk
>>> +  gcc
>>> +  gcc-c++
>>> +  git
>>> +  glibc-devel
>>> +  glibc-langpack-en
>>> +  gzip
>>
>> The original list had "install" but it's gone here, on purpose?
> 
> I don't think it did actually. I see the "yum install" and "dnf install"
> commands but not the "install" package.
> 

Overeager mouse selection I did to extract the package names from the 
list and sort them I guess :)

Yes, doesn't seem to appear in the list today either. Sorry for the noise.

Cheers,
Quentin
diff mbox series

Patch

diff --git a/documentation/brief-yoctoprojectqs/index.rst b/documentation/brief-yoctoprojectqs/index.rst
index c5400e4ac8dafb9e3d1e4c14a065d02ac3e2f7a7..3d249eefaae35239b92c8a2f8dedf27ec2dbdca0 100644
--- a/documentation/brief-yoctoprojectqs/index.rst
+++ b/documentation/brief-yoctoprojectqs/index.rst
@@ -78,7 +78,7 @@  You must install essential host packages on your build host. The
 following command installs the host packages based on an Ubuntu
 distribution::
 
-   $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
+   $ sudo apt install &UBUNTU_DEBIAN_HOST_PACKAGES_ESSENTIAL;
 
 .. note::
 
diff --git a/documentation/poky.yaml.in b/documentation/poky.yaml.in
index 66f758fe85fcd10291f00902639b43a1da639b0f..d03809f557960d10a6b9a2753a65c80937c62e13 100644
--- a/documentation/poky.yaml.in
+++ b/documentation/poky.yaml.in
@@ -1,3 +1,7 @@ 
+#
+# Macros used in the documentation
+#
+
 DISTRO : "5.1"
 DISTRO_NAME_NO_CAP : "styhead"
 DISTRO_NAME : "Styhead"
@@ -10,31 +14,6 @@  BITBAKE_SERIES : ""
 YOCTO_DL_URL : "https://downloads.yoctoproject.org"
 YOCTO_AB_URL : "https://autobuilder.yoctoproject.org"
 YOCTO_RELEASE_DL_URL : "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;"
-UBUNTU_HOST_PACKAGES_ESSENTIAL : "gawk wget git diffstat unzip texinfo gcc \
-     build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
-     xz-utils debianutils iputils-ping python3-git python3-jinja2 \
-     python3-subunit zstd liblz4-tool file locales libacl1"
-FEDORA_HOST_PACKAGES_ESSENTIAL : "gawk make wget tar bzip2 gzip python3 unzip perl patch \
-     diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \
-     ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \
-     python3-pexpect findutils which file cpio python python3-pip xz python3-GitPython \
-     python3-jinja2 rpcgen perl-FindBin perl-File-Compare \
-     perl-File-Copy perl-locale zstd lz4 hostname glibc-langpack-en libacl"
-OPENSUSE_HOST_PACKAGES_ESSENTIAL : "python gcc gcc-c++ git chrpath make wget python-xml \
-     diffstat makeinfo python-curses patch socat python3 python3-curses tar python3-pip \
-     python3-pexpect xz which python3-Jinja2 rpcgen \
-     zstd lz4 bzip2 gzip hostname libacl1
-     \n\   $ sudo pip3 install GitPython"
-ALMALINUX_HOST_PACKAGES_ESSENTIAL : "-y epel-release
-     \n\   $ sudo yum install dnf-plugins-core
-     \n\   $ sudo dnf config-manager --set-enabled crb
-     \n\   $ sudo dnf makecache
-     \n\   $ sudo dnf install gawk make wget tar bzip2 gzip python3 unzip perl patch \
-     diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath ccache \
-     socat perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3-pip \
-     python3-GitPython python3-jinja2 python3-pexpect xz which \
-     rpcgen zstd lz4 cpio glibc-langpack-en libacl"
-PIP3_HOST_PACKAGES_DOC : "$ sudo pip3 install sphinx sphinx_rtd_theme pyyaml"
 MIN_PYTHON_VERSION : "3.8.0"
 MIN_TAR_VERSION : "1.28"
 MIN_GIT_VERSION : "1.8.3.1"
@@ -46,3 +25,192 @@  MIN_DISK_SPACE : "90"
 MIN_DISK_SPACE_RM_WORK : "40"
 # RAM (Gbytes) needed to generate qemux86-64 core-image-sato on Ubuntu 22.04 (x86-64) on a 4 core system
 MIN_RAM : "8"
+
+#
+# Dependencies
+#
+
+# Shared between distros
+PIP3_HOST_PACKAGES_DOC: sphinx sphinx_rtd_theme pyyaml
+
+UBUNTU_DEBIAN_HOST_PACKAGES_ESSENTIAL: >-
+  build-essential
+  chrpath
+  cpio
+  debianutils
+  diffstat
+  file
+  gawk
+  gcc
+  git
+  iputils-ping
+  libacl1
+  liblz4-tool
+  locales
+  python3
+  python3-git
+  python3-jinja2
+  python3-pexpect
+  python3-pip
+  python3-subunit
+  socat
+  texinfo
+  unzip
+  wget
+  xz-utils
+  zstd
+
+UBUNTU_DEBIAN_HOST_PACKAGES_DOC: >-
+  git
+  inkscape
+  make
+  python3-saneyaml
+  python3-sphinx-rtd-theme
+  sphinx
+  texlive-latex-extra
+
+
+FEDORA_HOST_PACKAGES_ESSENTIAL: >-
+  bzip2
+  ccache
+  chrpath
+  cpio
+  cpp
+  diffstat
+  diffutils
+  file
+  findutils
+  gawk
+  gcc
+  gcc-c++
+  git
+  glibc-devel
+  glibc-langpack-en
+  gzip
+  hostname
+  libacl
+  lz4
+  make
+  patch
+  perl
+  perl-Data-Dumper
+  perl-File-Compare
+  perl-File-Copy
+  perl-FindBin
+  perl-Text-ParseWords
+  perl-Thread-Queue
+  perl-bignum
+  perl-locale
+  python
+  python3
+  python3-GitPython
+  python3-jinja2
+  python3-pexpect
+  python3-pip
+  rpcgen
+  socat
+  tar
+  texinfo
+  unzip
+  wget
+  which
+  xz
+  zstd
+
+FEDORA_HOST_PACKAGES_DOC: >-
+  git
+  inkscape
+  make
+  python3-pip
+  python3-saneyaml
+  python3-sphinx-rtd-theme
+  sphinx
+  texlive-fncychap
+  texlive-latex-extra
+  which
+
+OPENSUSE_HOST_PACKAGES_ESSENTIAL: >-
+  bzip2
+  chrpath
+  diffstat
+  gcc
+  gcc-c++
+  git
+  gzip
+  hostname
+  libacl1
+  lz4
+  make
+  makeinfo
+  patch
+  python
+  python-curses
+  python-xml
+  python3
+  python3-Jinja2
+  python3-curses
+  python3-pexpect
+  python3-pip
+  rpcgen
+  socat
+  tar
+  wget
+  which
+  xz
+  zstd
+
+OPENSUSE_PIP3_HOST_PACKAGES_ESSENTIAL: GitPython
+
+OPENSUSE_HOST_PACKAGES_DOC: >-
+  git
+  inkscape
+  make
+  python3-pip
+  texlive-fncychap
+  which
+
+ALMALINUX_HOST_PACKAGES_ESSENTIAL: >-
+  bzip2
+  ccache
+  chrpath
+  cpio
+  cpp
+  diffstat
+  diffutils
+  gawk
+  gcc
+  gcc-c++
+  git
+  glibc-devel
+  glibc-langpack-en
+  gzip
+  libacl
+  lz4
+  make
+  patch
+  perl
+  perl-Data-Dumper
+  perl-Text-ParseWords
+  perl-Thread-Queue
+  python3
+  python3-GitPython
+  python3-jinja2
+  python3-pexpect
+  python3-pip
+  rpcgen
+  socat
+  tar
+  texinfo
+  unzip
+  wget
+  which
+  xz
+  zstd
+
+ALMALINUX_HOST_PACKAGES_DOC: >-
+  git
+  inkscape
+  make
+  python3-pip
+  texlive-fncychap
+  which
diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst
index 43c3c5834b1a3c7d164512a9b42b68e06eacaafa..0b40c3f5e5ae87d703d9a2d338de084ca9f93b2b 100644
--- a/documentation/ref-manual/system-requirements.rst
+++ b/documentation/ref-manual/system-requirements.rst
@@ -150,7 +150,7 @@  Ubuntu and Debian
 Here are the packages needed to build an image on a headless system
 with a supported Ubuntu or Debian Linux distribution::
 
-   $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
+   $ sudo apt install &UBUNTU_DEBIAN_HOST_PACKAGES_ESSENTIAL;
 
 You also need to ensure you have the ``en_US.UTF-8`` locale enabled::
 
@@ -181,8 +181,7 @@  If this is not the case, you can reconfigure the ``locales`` package to add it
 
 Here are the packages needed to build Project documentation manuals::
 
-   $ sudo apt install git make inkscape texlive-latex-extra
-   $ sudo apt install sphinx python3-saneyaml python3-sphinx-rtd-theme
+   $ sudo apt install &UBUNTU_DEBIAN_HOST_PACKAGES_DOC;
 
 Fedora Packages
 ---------------
@@ -194,8 +193,8 @@  with a supported Fedora Linux distribution::
 
 Here are the packages needed to build Project documentation manuals::
 
-   $ sudo dnf install git make python3-pip which inkscape texlive-fncychap
-   &PIP3_HOST_PACKAGES_DOC;
+   $ sudo dnf install &FEDORA_HOST_PACKAGES_DOC;
+   $ sudo pip3 install &PIP3_HOST_PACKAGES_DOC;
 
 openSUSE Packages
 -----------------
@@ -204,11 +203,12 @@  Here are the packages needed to build an image on a headless system
 with a supported openSUSE distribution::
 
    $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
+   $ sudo pip3 install &OPENSUSE_PIP3_HOST_PACKAGES_ESSENTIAL;
 
 Here are the packages needed to build Project documentation manuals::
 
-   $ sudo zypper install git make python3-pip which inkscape texlive-fncychap
-   &PIP3_HOST_PACKAGES_DOC;
+   $ sudo zypper install &OPENSUSE_HOST_PACKAGES_DOC;
+   $ sudo pip3 install &PIP3_HOST_PACKAGES_DOC;
 
 
 AlmaLinux Packages
@@ -217,6 +217,10 @@  AlmaLinux Packages
 Here are the packages needed to build an image on a headless system
 with a supported AlmaLinux distribution::
 
+   $ sudo dnf install -y epel-release
+   $ sudo yum install dnf-plugins-core
+   $ sudo dnf config-manager --set-enabled crb
+   $ sudo dnf makecache
    $ sudo dnf install &ALMALINUX_HOST_PACKAGES_ESSENTIAL;
 
 .. note::
@@ -234,8 +238,8 @@  with a supported AlmaLinux distribution::
 
 Here are the packages needed to build Project documentation manuals::
 
-   $ sudo dnf install git make python3-pip which inkscape texlive-fncychap
-   &PIP3_HOST_PACKAGES_DOC;
+   $ sudo dnf install &ALMALINUX_HOST_PACKAGES_DOC;
+   $ sudo pip3 install &PIP3_HOST_PACKAGES_DOC;
 
 .. _system-requirements-buildtools: