diff mbox series

[v2,5/5] ref-manual/system-requirements.rst: add RockyLinux install instructions

Message ID 20251211-build-docs-container-tlmgr-v2-5-58719c103a50@bootlin.com
State Under Review
Headers show
Series Add missing CentOS Stream / RockyLinux distros to the system-requirements.rst doc | expand

Commit Message

Antonin Godard Dec. 11, 2025, 9:06 a.m. UTC
Add instructions on how to install host packages on Rocky Linux. It is
very similar to AlmaLinux so installation scripts were based on it.

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
---
 documentation/ref-manual/system-requirements.rst   | 48 ++++++++++++++++++++++
 documentation/tools/build-docs-container           | 10 +++++
 .../tools/containerfiles/Containerfile.rocky       |  1 +
 .../tools/host_packages_scripts/rockylinux_docs.sh |  1 +
 .../host_packages_scripts/rockylinux_essential.sh  |  5 +++
 5 files changed, 65 insertions(+)

Comments

Quentin Schulz Dec. 11, 2025, 1:59 p.m. UTC | #1
Hi Antonin,

On 12/11/25 10:06 AM, Antonin Godard via lists.yoctoproject.org wrote:
> Add instructions on how to install host packages on Rocky Linux. It is
> very similar to AlmaLinux so installation scripts were based on it.
> 
> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
> ---
>   documentation/ref-manual/system-requirements.rst   | 48 ++++++++++++++++++++++
>   documentation/tools/build-docs-container           | 10 +++++
>   .../tools/containerfiles/Containerfile.rocky       |  1 +
>   .../tools/host_packages_scripts/rockylinux_docs.sh |  1 +
>   .../host_packages_scripts/rockylinux_essential.sh  |  5 +++
>   5 files changed, 65 insertions(+)
> 
> diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst
> index 4063253f7..66d920698 100644
> --- a/documentation/ref-manual/system-requirements.rst
> +++ b/documentation/ref-manual/system-requirements.rst
> @@ -302,6 +302,54 @@ the `TeX Live package manager <https://tug.org/texlive/tlmgr.html>`__:
>   Before building the documentation PDF, setup the ``PATH`` to use the installed
>   packages:
>   
> +.. code-block:: console
> +
> +   $ export PATH="${PATH}:${textooldir}/tl/bin/x86_64-linux"
> +

Same remark as in patch 3 and 4.

> +RockyLinux Packages
> +-------------------
> +
> +Here are the packages needed to build an image on a headless system
> +with a supported RockyLinux distribution:
> +
> +.. literalinclude:: ../tools/host_packages_scripts/rockylinux_essential.sh
> +   :language: shell
> +
> +.. note::
> +
> +   -  Extra Packages for Enterprise Linux (i.e. ``epel-release``) is
> +      a collection of packages from Fedora built on RHEL/CentOS for
> +      easy installation of packages not included in enterprise Linux
> +      by default. You need to install these packages separately.
> +
> +   -  The ``PowerTools/CRB`` repo provides additional packages such as
> +      ``rpcgen`` and ``texinfo``.
> +
> +   -  The ``makecache`` command consumes additional Metadata from
> +      ``epel-release``.
> +
> +Here are the packages needed to build Project documentation manuals:
> +
> +.. literalinclude:: ../tools/host_packages_scripts/rockylinux_docs.sh
> +   :language: shell
> +
> +.. literalinclude:: ../tools/host_packages_scripts/pip3_docs.sh
> +   :language: shell
> +
> +In addition to the previous packages, the following TeX Live packages
> +are needed to build the documentation in PDF format and can be installed with
> +the `TeX Live package manager <https://tug.org/texlive/tlmgr.html>`__:
> +
> +.. literalinclude:: ../tools/host_packages_scripts/tlmgr_docs_pdf.sh
> +   :language: shell
> +
> +.. warning::
> +
> +   The Tex Live installation above is only valid for `x86_64` hosts.
> +
> +Before building the documentation PDF, setup the ``PATH`` to use the installed
> +packages:
> +
>   .. code-block:: console
>   
>      $ export PATH="${PATH}:${textooldir}/tl/bin/x86_64-linux"
> diff --git a/documentation/tools/build-docs-container b/documentation/tools/build-docs-container
> index 9d1bfdcdf..dda4a6170 100755
> --- a/documentation/tools/build-docs-container
> +++ b/documentation/tools/build-docs-container
> @@ -44,6 +44,8 @@ $0 OCI_IMAGE [make arguments...]
>        - fedora:42
>        - leap:15.5
>        - leap:15.6
> +     - rockylinux:8
> +     - rockylinux:9
>        - ubuntu:22.04
>        - ubuntu:24.04
>        - ubuntu:25.04
> @@ -130,6 +132,14 @@ main ()
>         docs_pdf=opensuse_docs_pdf.sh
>         pip3=pip3_docs.sh
>         ;;
> +    "rockylinux:8"*|\
> +    "rockylinux:9"*)
> +      containerfile=Containerfile.rocky
> +      essential=rockylinux_essential.sh
> +      docs=rockylinux_docs.sh
> +      docs_pdf=tlmgr_docs_pdf.sh
> +      pip3=pip3_docs.sh
> +      ;;
>       "ubuntu:22.04"*|\
>       "ubuntu:24.04"*|\
>       "ubuntu:25.04"*|\
> diff --git a/documentation/tools/containerfiles/Containerfile.rocky b/documentation/tools/containerfiles/Containerfile.rocky
> new file mode 120000
> index 000000000..5430d17dc
> --- /dev/null
> +++ b/documentation/tools/containerfiles/Containerfile.rocky
> @@ -0,0 +1 @@
> +Containerfile.stream
> \ No newline at end of file
> diff --git a/documentation/tools/host_packages_scripts/rockylinux_docs.sh b/documentation/tools/host_packages_scripts/rockylinux_docs.sh
> new file mode 100644
> index 000000000..dfb201fe2
> --- /dev/null
> +++ b/documentation/tools/host_packages_scripts/rockylinux_docs.sh
> @@ -0,0 +1 @@
> +sudo dnf install git glibc-locale-source librsvg2-tools make python3-pip which wget

Same remark as patch 4.

> diff --git a/documentation/tools/host_packages_scripts/rockylinux_essential.sh b/documentation/tools/host_packages_scripts/rockylinux_essential.sh
> new file mode 100644
> index 000000000..9564bb4fe
> --- /dev/null
> +++ b/documentation/tools/host_packages_scripts/rockylinux_essential.sh
> @@ -0,0 +1,5 @@
> +sudo dnf install -y epel-release
> +sudo yum install -y dnf-plugins-core
> +sudo dnf config-manager --set-enabled crb || sudo dnf config-manager --set-enabled powertools
> +sudo dnf makecache
> +sudo dnf install -y bzip2 ccache chrpath cpio cpp diffstat diffutils gawk gcc gcc-c++ git glibc-devel glibc-langpack-en gzip libacl 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
> 

Is there anything actually different from almalinux in here that 
prevents us from using a symlink?

Cheers,
Quentin
diff mbox series

Patch

diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst
index 4063253f7..66d920698 100644
--- a/documentation/ref-manual/system-requirements.rst
+++ b/documentation/ref-manual/system-requirements.rst
@@ -302,6 +302,54 @@  the `TeX Live package manager <https://tug.org/texlive/tlmgr.html>`__:
 Before building the documentation PDF, setup the ``PATH`` to use the installed
 packages:
 
+.. code-block:: console
+
+   $ export PATH="${PATH}:${textooldir}/tl/bin/x86_64-linux"
+
+RockyLinux Packages
+-------------------
+
+Here are the packages needed to build an image on a headless system
+with a supported RockyLinux distribution:
+
+.. literalinclude:: ../tools/host_packages_scripts/rockylinux_essential.sh
+   :language: shell
+
+.. note::
+
+   -  Extra Packages for Enterprise Linux (i.e. ``epel-release``) is
+      a collection of packages from Fedora built on RHEL/CentOS for
+      easy installation of packages not included in enterprise Linux
+      by default. You need to install these packages separately.
+
+   -  The ``PowerTools/CRB`` repo provides additional packages such as
+      ``rpcgen`` and ``texinfo``.
+
+   -  The ``makecache`` command consumes additional Metadata from
+      ``epel-release``.
+
+Here are the packages needed to build Project documentation manuals:
+
+.. literalinclude:: ../tools/host_packages_scripts/rockylinux_docs.sh
+   :language: shell
+
+.. literalinclude:: ../tools/host_packages_scripts/pip3_docs.sh
+   :language: shell
+
+In addition to the previous packages, the following TeX Live packages
+are needed to build the documentation in PDF format and can be installed with
+the `TeX Live package manager <https://tug.org/texlive/tlmgr.html>`__:
+
+.. literalinclude:: ../tools/host_packages_scripts/tlmgr_docs_pdf.sh
+   :language: shell
+
+.. warning::
+
+   The Tex Live installation above is only valid for `x86_64` hosts.
+
+Before building the documentation PDF, setup the ``PATH`` to use the installed
+packages:
+
 .. code-block:: console
 
    $ export PATH="${PATH}:${textooldir}/tl/bin/x86_64-linux"
diff --git a/documentation/tools/build-docs-container b/documentation/tools/build-docs-container
index 9d1bfdcdf..dda4a6170 100755
--- a/documentation/tools/build-docs-container
+++ b/documentation/tools/build-docs-container
@@ -44,6 +44,8 @@  $0 OCI_IMAGE [make arguments...]
      - fedora:42
      - leap:15.5
      - leap:15.6
+     - rockylinux:8
+     - rockylinux:9
      - ubuntu:22.04
      - ubuntu:24.04
      - ubuntu:25.04
@@ -130,6 +132,14 @@  main ()
       docs_pdf=opensuse_docs_pdf.sh
       pip3=pip3_docs.sh
       ;;
+    "rockylinux:8"*|\
+    "rockylinux:9"*)
+      containerfile=Containerfile.rocky
+      essential=rockylinux_essential.sh
+      docs=rockylinux_docs.sh
+      docs_pdf=tlmgr_docs_pdf.sh
+      pip3=pip3_docs.sh
+      ;;
     "ubuntu:22.04"*|\
     "ubuntu:24.04"*|\
     "ubuntu:25.04"*|\
diff --git a/documentation/tools/containerfiles/Containerfile.rocky b/documentation/tools/containerfiles/Containerfile.rocky
new file mode 120000
index 000000000..5430d17dc
--- /dev/null
+++ b/documentation/tools/containerfiles/Containerfile.rocky
@@ -0,0 +1 @@ 
+Containerfile.stream
\ No newline at end of file
diff --git a/documentation/tools/host_packages_scripts/rockylinux_docs.sh b/documentation/tools/host_packages_scripts/rockylinux_docs.sh
new file mode 100644
index 000000000..dfb201fe2
--- /dev/null
+++ b/documentation/tools/host_packages_scripts/rockylinux_docs.sh
@@ -0,0 +1 @@ 
+sudo dnf install git glibc-locale-source librsvg2-tools make python3-pip which wget
diff --git a/documentation/tools/host_packages_scripts/rockylinux_essential.sh b/documentation/tools/host_packages_scripts/rockylinux_essential.sh
new file mode 100644
index 000000000..9564bb4fe
--- /dev/null
+++ b/documentation/tools/host_packages_scripts/rockylinux_essential.sh
@@ -0,0 +1,5 @@ 
+sudo dnf install -y epel-release
+sudo yum install -y dnf-plugins-core
+sudo dnf config-manager --set-enabled crb || sudo dnf config-manager --set-enabled powertools
+sudo dnf makecache
+sudo dnf install -y bzip2 ccache chrpath cpio cpp diffstat diffutils gawk gcc gcc-c++ git glibc-devel glibc-langpack-en gzip libacl 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