From patchwork Fri Dec 5 14:51:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 75953 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 70DC8D32D8A for ; Fri, 5 Dec 2025 14:51:42 +0000 (UTC) Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.7370.1764946298118056032 for ; Fri, 05 Dec 2025 06:51:38 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=1E7aR5ug; spf=pass (domain: bootlin.com, ip: 185.171.202.116, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id 332DBC19649 for ; Fri, 5 Dec 2025 14:51:13 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id A6285606AC for ; Fri, 5 Dec 2025 14:51:36 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 4A641102F0A9B; Fri, 5 Dec 2025 15:51:35 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1764946295; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=B9jdqOvHS9vx1U1OHDQoMOzsvb2sasVWICwGeBVcipI=; b=1E7aR5ugHC5hIWixkEBOvC9miOsluTGU9A/07ISavjmQiMGGR7AJvKDpEetz0HX8qAfagz YW2RBkBIdMpxMpBmuX7rT/IWJ7L5CiU7o6lNDgl0rhvPNdNjOzEpu8BX29SXbu4yN3cOLe RkzRPzQJl1gKKdp5JemsikRg/68NRg9+HpL2q/XURhakLHqx9MPMd0ij0vGIYISa+WdeKF o0KwRexcD+mw2AYsXg3kPDXpOCP0NxdQCdJDhY9QVqes4AOMn4tk25OekOpp2d23JkyiI8 fkuZjFXe0Zt0xsQ2DhjI0DRJ0eHZLtTVVvBTB/IBkoFcn4xSS2Y0ll5+MU9vGw== From: Antonin Godard Date: Fri, 05 Dec 2025 15:51:24 +0100 Subject: [PATCH 1/5] tools/build-docs-container: move container files in their own directory MIME-Version: 1.0 Message-Id: <20251205-build-docs-container-tlmgr-v1-1-de30623e664d@bootlin.com> References: <20251205-build-docs-container-tlmgr-v1-0-de30623e664d@bootlin.com> In-Reply-To: <20251205-build-docs-container-tlmgr-v1-0-de30623e664d@bootlin.com> To: docs@lists.yoctoproject.org Cc: Thomas Petazzoni , Antonin Godard X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=4042; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=ZXaf+4k0heH6JRHG+vAHZKY3GwS1qbzUWnw9hpxr/dU=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBpMvF0SEYIWuFv3WCEGgNlP5ZSfpZttn+YvVMEJ NBqMMfrrYuJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaTLxdAAKCRDRgEFAKaOo Nu/YD/9gIhxvqa8dIfoL7Zi0BMnYXRe4A/ODohJuuEfTLD8YIxXzWnwOp3/uWkjR2j9pVAk1RsW mvQyd0dpLuU0ihddJcK1B+a+klvdG30nOh18fRkbPsqvG/PLYhC5O2F3bRiiqRVfcA6CNGcbLlI aZHlQqPNsHAE6Ce7LLogHOaivYhJT/FQ6mLdHpsosK7nXA7qlNhdQtVwBGVinKLC0BMj1JT1zJz yDWMD+V+eYlDkMijc2CVwJr98O+tgx8kDS5yFnrwajbJLW5t0oOhrj69Cbn0qnvTfn2A1hrE+Rg WQ2rlc5myxTKW7w4zMYbTtnpqwT6EzDfAYSewbb7D3/18qO/zh7/oLVNS9OI8dNZY32lWhSyBsw 5sBct85X1SxPpIHsm8SiCHTHIr1sivPJ2lGsjT9otYwOGvxdUhSvsRwXwXMSJhDuYEocFZuSFin W6rROLC0cfUaOBvh7TDysOyxCCXopA6uzcKCx6kJN/x8zoOB1EFugUxL76TenyLJzHj8GtdIu9w FpvZbjV5i/kZhGGXB+DOYIsF0RfpcbwbryjYTouHIaNKiectiF2V+1LXxzYSgLNYYAzZ9Mkl8od 8wr51NuxDzjNoxoooLI9cFA7r9pIlQoCYIM1/hfkAU2IHpN9z9iIpuvQBSNPdztcPcZCYEGr/Ya KTIKTK+YJVE2SLw== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 05 Dec 2025 14:51:42 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/8227 Create a directory to hold the Containerfiles as they were lying next to the scripts. Change the build context of the docker build command to build from SCRIPT_DIR and pass the host packages scripts and container file relative to it. Signed-off-by: Antonin Godard --- documentation/tools/build-docs-container | 13 ++++++------- .../tools/{ => containerfiles}/Containerfile.almalinux | 0 documentation/tools/{ => containerfiles}/Containerfile.apt | 0 .../tools/{ => containerfiles}/Containerfile.debian | 0 documentation/tools/{ => containerfiles}/Containerfile.dnf | 0 .../tools/{ => containerfiles}/Containerfile.fedora | 0 .../tools/{ => containerfiles}/Containerfile.ubuntu | 0 .../tools/{ => containerfiles}/Containerfile.zypper | 0 8 files changed, 6 insertions(+), 7 deletions(-) diff --git a/documentation/tools/build-docs-container b/documentation/tools/build-docs-container index b91a6daa9..7d25b15b9 100755 --- a/documentation/tools/build-docs-container +++ b/documentation/tools/build-docs-container @@ -23,7 +23,6 @@ set -eu -o pipefail SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) CONTAINERCMD=${CONTAINERCMD:-docker} DOCS_DIR="$SCRIPT_DIR/../.." -SH_DIR="$SCRIPT_DIR/host_packages_scripts" INCLUDE_ESSENTIAL_PACKAGES=${INCLUDE_ESSENTIAL_PACKAGES:-0} function usage() @@ -140,12 +139,12 @@ main () --tag "yocto-docs-$sanitized_dockername:latest" \ --build-arg ARG_FROM="docker.io/$image" \ --build-arg INCLUDE_ESSENTIAL_PACKAGES="${INCLUDE_ESSENTIAL_PACKAGES}" \ - --build-arg ESSENTIAL="$essential" \ - --build-arg DOCS="$docs" \ - --build-arg DOCS_PDF="$docs_pdf" \ - --build-arg PIP3="${pip3:-}" \ - --file "$SCRIPT_DIR/$containerfile" \ - "$SH_DIR/" + --build-arg ESSENTIAL="host_packages_scripts/$essential" \ + --build-arg DOCS="host_packages_scripts/$docs" \ + --build-arg DOCS_PDF="host_packages_scripts/$docs_pdf" \ + --build-arg PIP3="host_packages_scripts/${pip3:-}" \ + --file "$SCRIPT_DIR/containerfiles/$containerfile" \ + "$SCRIPT_DIR" local -a args_run=( --rm diff --git a/documentation/tools/Containerfile.almalinux b/documentation/tools/containerfiles/Containerfile.almalinux similarity index 100% rename from documentation/tools/Containerfile.almalinux rename to documentation/tools/containerfiles/Containerfile.almalinux diff --git a/documentation/tools/Containerfile.apt b/documentation/tools/containerfiles/Containerfile.apt similarity index 100% rename from documentation/tools/Containerfile.apt rename to documentation/tools/containerfiles/Containerfile.apt diff --git a/documentation/tools/Containerfile.debian b/documentation/tools/containerfiles/Containerfile.debian similarity index 100% rename from documentation/tools/Containerfile.debian rename to documentation/tools/containerfiles/Containerfile.debian diff --git a/documentation/tools/Containerfile.dnf b/documentation/tools/containerfiles/Containerfile.dnf similarity index 100% rename from documentation/tools/Containerfile.dnf rename to documentation/tools/containerfiles/Containerfile.dnf diff --git a/documentation/tools/Containerfile.fedora b/documentation/tools/containerfiles/Containerfile.fedora similarity index 100% rename from documentation/tools/Containerfile.fedora rename to documentation/tools/containerfiles/Containerfile.fedora diff --git a/documentation/tools/Containerfile.ubuntu b/documentation/tools/containerfiles/Containerfile.ubuntu similarity index 100% rename from documentation/tools/Containerfile.ubuntu rename to documentation/tools/containerfiles/Containerfile.ubuntu diff --git a/documentation/tools/Containerfile.zypper b/documentation/tools/containerfiles/Containerfile.zypper similarity index 100% rename from documentation/tools/Containerfile.zypper rename to documentation/tools/containerfiles/Containerfile.zypper From patchwork Fri Dec 5 14:51:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 75954 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8C0EAD32D98 for ; Fri, 5 Dec 2025 14:51:42 +0000 (UTC) Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.7371.1764946298906411445 for ; Fri, 05 Dec 2025 06:51:39 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=kJ+df2u0; spf=pass (domain: bootlin.com, ip: 185.171.202.116, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id A6F9DC1964B for ; Fri, 5 Dec 2025 14:51:13 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 236B0606AC for ; Fri, 5 Dec 2025 14:51:37 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 856F7102F0A9C; Fri, 5 Dec 2025 15:51:36 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1764946296; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=/XXhgfMdf9AUqWtBK4xRnZ3CpJrpWVy4G2vMMkilvFk=; b=kJ+df2u0AmOoFgvPLxN0yAG0cRTqFOmMQRlDUqIvFghqpcs/IyZFkgYZ7VSvRsb31DMpGa NY5xuXXqNI8r9beH8FNJ8tnqj0pWMYNfZdOsUGvdkQ9Y5vBAetVXZ50FhNErPF33m5BBq/ BL/xPVezx1F4lpSu17YiSxq65tBbcNdooi+xRCGoAefAFZ1H84TJfOTXmuXSBr2RbX5reo tFxcwAutKdx9s9gH5V+4sxnoWxqncOazk1qJYL4lbn+D+rBOW1R9LQb73B8/48eXcnyYx5 +aaslKitTmKC/s71RoQ8+uDIMVV6ihR+qr5vjVEOSpbs52kKdRli5inLnrkm3w== From: Antonin Godard Date: Fri, 05 Dec 2025 15:51:25 +0100 Subject: [PATCH 2/5] Makefile: fix rsvg-convert --format capitalization MIME-Version: 1.0 Message-Id: <20251205-build-docs-container-tlmgr-v1-2-de30623e664d@bootlin.com> References: <20251205-build-docs-container-tlmgr-v1-0-de30623e664d@bootlin.com> In-Reply-To: <20251205-build-docs-container-tlmgr-v1-0-de30623e664d@bootlin.com> To: docs@lists.yoctoproject.org Cc: Thomas Petazzoni , Antonin Godard X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=1205; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=d55uiSyS1TQ3i6uhiJla/F4j6h9L9rcgAYwW9aK5wcg=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBpMvF09iDn05eDMn4w+L1YulHwDUKv4T9MY22gl aK1xJsiMxeJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaTLxdAAKCRDRgEFAKaOo NpT7EACNDUfRe7ABqRZLWmTyax1ye1/1SMokho+YkrAzLSbbBSFbNd052RxxMDZtPX41zCHht3K oDfGU1oQ7nLvBgSF71zZH7tCh6hqShgL4GFY3i7/ASgfrh+e3WWzY90/om/MdFpEUvSzv3JFp1q n0bDjfdvHOBvkkpBqMLHnETtR4EelHflxk/dDVgUaw/ShjNbp19+zSR0ngskTFzzGJ9Ehr4WCwg 7BzkboGfQslQ0MYjphkU2hiri7c0aTmogl/MakiubX2Tbm+NcP4GvGYDg+xZAN5IuwvK6UbfP0h 4qHhkZ4H2LgclWXfC8Vj1Kre+YrEXhCi6le+lwit+TN0uaOp0SlLhFqaw/8Fv2ETFfvbalZhiCO 0D2t8ax1XI4jH1N5puO33cLBXfepgAXAC87/o9s7llhxhCJaGK7mCINMisMyTx1NhU9mDxmUw4F W/uBsapiOaU7xUcxNItMoGxhTeoQb3JAuTqFYxwWa3yNQo1zb25NJvbrLi83xfT/FtqtQQNBEDK gjEsK2hNPEYhRm8D29JHeR0Jc5DfiEmE2JqI8fIVYWCzVIP/dFD1OIzqoZYdxdMPJylRPySabfb YCyeYCP8ngFP8INtxzjg4yAQKOfG017sf3H/DAVFGQCOcSQAtz+Tod9iPn1aljE5Mrd+BJUTomv wWz/wbScEYtZdig== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 05 Dec 2025 14:51:42 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/8229 On some versions of rsvg-convert, capitalized formats are unknown. For example on CentOS Stream 9: $ rsvg-convert --format=Png --output=ref-manual/svg/releases.png ref-manual/svg/releases.svg Unknown output format. While the same command with "png" runs fine. On Ubuntu 22.04, both are accepted. Switch to the un-capitalized options, compatible with all versions. Signed-off-by: Antonin Godard Reviewed-by: Quentin Schulz --- documentation/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/Makefile b/documentation/Makefile index bade78fe8..e144a50b4 100644 --- a/documentation/Makefile +++ b/documentation/Makefile @@ -43,11 +43,11 @@ PNGs := $(foreach dir, $(IMAGEDIRS), $(patsubst %.svg,%.png,$(wildcard $(SOURCED # Pattern rule for converting SVG to PDF %.pdf : %.svg - $(SVG2PDF) --format=Pdf --output=$@ $< + $(SVG2PDF) --format=pdf --output=$@ $< # Pattern rule for converting SVG to PNG %.png : %.svg - $(SVG2PNG) --format=Png --output=$@ $< + $(SVG2PNG) --format=png --output=$@ $< clean: @rm -rf $(BUILDDIR) $(PNGs) $(PDFs) poky.yaml sphinx-static/switchers.js releases.rst From patchwork Fri Dec 5 14:51:26 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 75957 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 952F9D32D9A for ; Fri, 5 Dec 2025 14:51:42 +0000 (UTC) Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.7465.1764946299678272310 for ; Fri, 05 Dec 2025 06:51:40 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=Q087tOmJ; spf=pass (domain: bootlin.com, ip: 185.171.202.116, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id 9657EC1964C for ; Fri, 5 Dec 2025 14:51:14 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 11BAD606AC for ; Fri, 5 Dec 2025 14:51:38 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 05EAE102F06E6; Fri, 5 Dec 2025 15:51:36 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1764946297; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=LhXaasvnSgCFQ5CtevmnFtKA0Gu7eDZHG6I1p9ehUfE=; b=Q087tOmJTHjgAZJmW1bKWGPbuQPt7l4mxC/p0mAbgACz1DZip6kduWHNhysvACj4Wr1KNc UsSPSKC5C6EpmVtyjtcRteL5SPee550MQc2vjoEV5iaoYP4xOfj/kgljwq9zYAciTf2uIE RW2y6bPRnMjokkx6bDVpHP1U0O7BKQieH9xQE4YYD7HM8n3AJhGtEkJMDBmMdChWKDBQkx pllq/3gUiKhuaouEnHjLS9O4uIAqI6qNUjly2XqIRob9mmYhY6HnSt5pngtFRBZXNgXNIQ pvt5yR2ksHWRQhWRTwk0n1XMANVewydQ49/nZrP0sFUYQbOFrrRzze4oGxYSfw== From: Antonin Godard Date: Fri, 05 Dec 2025 15:51:26 +0100 Subject: [PATCH 3/5] tools/build-docs-container: add CentOS Stream 9 support MIME-Version: 1.0 Message-Id: <20251205-build-docs-container-tlmgr-v1-3-de30623e664d@bootlin.com> References: <20251205-build-docs-container-tlmgr-v1-0-de30623e664d@bootlin.com> In-Reply-To: <20251205-build-docs-container-tlmgr-v1-0-de30623e664d@bootlin.com> To: docs@lists.yoctoproject.org Cc: Thomas Petazzoni , Antonin Godard X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=10588; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=RPPS5y2iTzmULdsk47v3znHLzCehq0Oj9+FMs+Cnkxo=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBpMvF14f4GQ1bfFAayvo57anp8+8ypHCEWEDzE1 L0if1fqro6JAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaTLxdQAKCRDRgEFAKaOo Nkv4EADFSg69ecBf7Wz6Hcm9T1GxdISe0xQvqmhay1GibgcOswvxDjonN6S7y/CIOftwInrUUE9 kmhch3ObH0ELXhcqxh9jISFpAyoeqOiGgb2wyAxQAserap8jm5XpeJ2Lxo2JiU4/8b8QWxlnH2o ymypxnP3hooX1JQxZcH6AS4adaOago3VU4uuTx5YHJqHynLiuBiWgeC934t7Qf46QbihHj72pwj Zclcv3We6tt6ausBnJ/cARmGpFGJjULDF1KIJJS2EKGbbVFtAWW+8QxWyHyNCX316dlZlZgdnfR NbTKK/Xyb3UHAtkbZdKoI1lSeIKeHJKL49+GEkBVEkYNS2E6ea/GWbn8ZrZSRfz4XtvneCE5Run jV6aGpJLeLaMMEQhA4384djMB8aZaEprOnOf6GrJMYS28qtigfVpKRL3MOmwmZn5ARWbvxqVtoC DO3fnpdujqFPxviCkxnhyjcSaz0Rmbz6bXXGXbF0BdzgnKfXWZ0y4Z6T3+RonhI0+WPcKammAxt dzlK8SnSf+Sc1tEhPQQruLjGZmFnVnE5ddGT/+X+caaD3wf/sCkeKBll2+AZDUsF2CZSB3AOqUl TH5MuGnYc4WZESYRuSZPQ7SRzz9WQ85Eocn+HKhGB2qPu3aaIpbZS1Urwf5fj4UyqHG4eLyH0NH +4vMptEEj/jlOFA== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 05 Dec 2025 14:51:42 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/8230 Add support for building the docs in CentOS Stream 9. As there are no official images for CentOS Stream, use tgagor/centos from dockerhub which is actively updated. The centosstream_essential.sh centosstream_docs.sh files are based on the almalinux files. Introduce a new installation script: tlmgr_docs_pdf.sh. As I wasn't able to locate all the necessary tex packages to build the documentation in a PDF format, I resorted to using what is used on the Autobuilder: a local installation of texlive packages through tlmgr. This will allow us to provide a way of building the docs as PDF for the distros that lack this support at the moment. Use a new Containerfile.stream file as it needs TEXTOOLDIR exported for installing the texlive tools in a known directory (we assume the base dnf Containerfile does not need it, as it is currently the case for Fedora). Signed-off-by: Antonin Godard --- documentation/ref-manual/system-requirements.rst | 31 ++++++++++++++++++++ documentation/tools/build-docs-container | 9 ++++++ .../tools/containerfiles/Containerfile.apt | 5 +++- .../tools/containerfiles/Containerfile.dnf | 5 +++- .../tools/containerfiles/Containerfile.stream | 34 ++++++++++++++++++++++ .../tools/containerfiles/Containerfile.zypper | 5 +++- documentation/tools/containerfiles/entrypoint | 6 ++++ .../host_packages_scripts/centosstream_docs.sh | 1 + .../centosstream_essential.sh | 5 ++++ .../tools/host_packages_scripts/tlmgr_docs_pdf.sh | 7 +++++ 10 files changed, 105 insertions(+), 3 deletions(-) diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst index 9ed29a1df..02b6a0cb9 100644 --- a/documentation/ref-manual/system-requirements.rst +++ b/documentation/ref-manual/system-requirements.rst @@ -266,6 +266,37 @@ documentation in PDF format: .. literalinclude:: ../tools/host_packages_scripts/almalinux_docs_pdf.sh :language: shell +CentOS Stream Packages +---------------------- + +Here are the packages needed to build an image on a headless system +with a supported CentOS Stream distribution: + +.. literalinclude:: ../tools/host_packages_scripts/centosstream_essential.sh + :language: shell + +Here are the packages needed to build Project documentation manuals: + +.. literalinclude:: ../tools/host_packages_scripts/centosstream_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 `__: + +.. literalinclude:: ../tools/host_packages_scripts/tlmgr_docs_pdf.sh + :language: shell + +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" + .. _system-requirements-buildtools: Required Git, tar, Python, make and gcc Versions diff --git a/documentation/tools/build-docs-container b/documentation/tools/build-docs-container index 7d25b15b9..d753e2153 100755 --- a/documentation/tools/build-docs-container +++ b/documentation/tools/build-docs-container @@ -41,6 +41,7 @@ $0 OCI_IMAGE [make arguments...] - fedora:42 - leap:15.5 - leap:15.6 + - tgagor/centos:stream9 - ubuntu:22.04 - ubuntu:24.04 - ubuntu:25.04 @@ -119,6 +120,13 @@ main () docs_pdf=opensuse_docs_pdf.sh pip3=pip3_docs.sh ;; + "tgagor/centos:stream9"*) + containerfile=Containerfile.stream + essential=centosstream_essential.sh + docs=centosstream_docs.sh + docs_pdf=tlmgr_docs_pdf.sh + pip3=pip3_docs.sh + ;; "ubuntu:22.04"*|\ "ubuntu:24.04"*|\ "ubuntu:25.04"*|\ @@ -143,6 +151,7 @@ main () --build-arg DOCS="host_packages_scripts/$docs" \ --build-arg DOCS_PDF="host_packages_scripts/$docs_pdf" \ --build-arg PIP3="host_packages_scripts/${pip3:-}" \ + --build-arg ENTRY="containerfiles/entrypoint" \ --file "$SCRIPT_DIR/containerfiles/$containerfile" \ "$SCRIPT_DIR" diff --git a/documentation/tools/containerfiles/Containerfile.apt b/documentation/tools/containerfiles/Containerfile.apt index a573786f0..c3e1660a6 100644 --- a/documentation/tools/containerfiles/Containerfile.apt +++ b/documentation/tools/containerfiles/Containerfile.apt @@ -5,6 +5,7 @@ ARG INCLUDE_ESSENTIAL_PACKAGES=0 ARG ESSENTIAL=ubuntu_essential.sh ARG DOCS=ubuntu_docs.sh ARG DOCS_PDF=ubuntu_docs_pdf.sh +ARG ENTRY=entrypoint ENV DEBIAN_FRONTEND=noninteractive ARG TZ=Europe/Vienna @@ -26,5 +27,7 @@ RUN ln -fs "/usr/share/zoneinfo/$TZ" /etc/localtime \ RUN git config --global --add safe.directory /docs -ENTRYPOINT ["/usr/bin/env", "make", "-C", "documentation/"] +COPY --chmod=777 $ENTRY /entrypoint + +ENTRYPOINT ["/entrypoint"] CMD ["publish"] diff --git a/documentation/tools/containerfiles/Containerfile.dnf b/documentation/tools/containerfiles/Containerfile.dnf index 65c526705..d00bb5adc 100644 --- a/documentation/tools/containerfiles/Containerfile.dnf +++ b/documentation/tools/containerfiles/Containerfile.dnf @@ -6,6 +6,7 @@ ARG ESSENTIAL=fedora_essential.sh ARG DOCS=fedora_docs.sh ARG DOCS_PDF=fedora_docs_pdf.sh ARG PIP3=pip3_docs.sh +ARG ENTRY=entrypoint # relative to the location of the dockerfile COPY --chmod=777 ${ESSENTIAL} /temp/host_packages_essential.sh @@ -25,5 +26,7 @@ RUN dnf update -y \ RUN git config --global --add safe.directory /docs -ENTRYPOINT ["/usr/bin/env", "make", "-C", "documentation/"] +COPY --chmod=777 $ENTRY /entrypoint + +ENTRYPOINT ["/entrypoint"] CMD ["publish"] diff --git a/documentation/tools/containerfiles/Containerfile.stream b/documentation/tools/containerfiles/Containerfile.stream new file mode 100644 index 000000000..5968f94ba --- /dev/null +++ b/documentation/tools/containerfiles/Containerfile.stream @@ -0,0 +1,34 @@ +ARG ARG_FROM=fedora:40 # default value to avoid warning +FROM $ARG_FROM + +ARG INCLUDE_ESSENTIAL_PACKAGES=0 +ARG ESSENTIAL=fedora_essential.sh +ARG DOCS=fedora_docs.sh +ARG DOCS_PDF=fedora_docs_pdf.sh +ARG PIP3=pip3_docs.sh +ARG ENTRY=entrypoint + +ENV TEXTOOLDIR=/opt/docs-build-tex-tools + +# relative to the location of the dockerfile +COPY --chmod=777 ${ESSENTIAL} /temp/host_packages_essential.sh +COPY --chmod=777 ${DOCS} /temp/host_packages_docs.sh +COPY --chmod=777 ${DOCS_PDF} /temp/host_packages_docs_pdf.sh +COPY --chmod=777 ${PIP3} /temp/pip3_docs.sh + +RUN dnf update -y \ + && dnf install -y sudo \ + && if [ "$INCLUDE_ESSENTIAL_PACKAGES" = "1" ]; then yes | /temp/host_packages_essential.sh; fi \ + && yes | /temp/host_packages_docs.sh \ + && yes | /temp/host_packages_docs_pdf.sh \ + && yes | /temp/pip3_docs.sh \ + && dnf autoremove -y \ + && dnf clean all -y \ + && rm -rf /temp + +RUN git config --global --add safe.directory /docs + +COPY --chmod=777 $ENTRY /entrypoint + +ENTRYPOINT ["/entrypoint"] +CMD ["publish"] diff --git a/documentation/tools/containerfiles/Containerfile.zypper b/documentation/tools/containerfiles/Containerfile.zypper index 3850b9ff9..d7302ef6f 100644 --- a/documentation/tools/containerfiles/Containerfile.zypper +++ b/documentation/tools/containerfiles/Containerfile.zypper @@ -6,6 +6,7 @@ ARG ESSENTIAL=opensuse_essential.sh ARG DOCS=opensuse_docs.sh ARG DOCS_PDF=opensuse_docs_pdf.sh ARG PIP3=pip3_docs.sh +ARG ENTRY=entrypoint # relative to the location of the dockerfile COPY --chmod=777 ${ESSENTIAL} /temp/host_packages_essential.sh @@ -32,5 +33,7 @@ RUN zypper update -y \ RUN git config --global --add safe.directory /docs -ENTRYPOINT ["/usr/bin/env", "make", "-C", "documentation/"] +COPY --chmod=777 $ENTRY /entrypoint + +ENTRYPOINT ["/entrypoint"] CMD ["publish"] diff --git a/documentation/tools/containerfiles/entrypoint b/documentation/tools/containerfiles/entrypoint new file mode 100644 index 000000000..97ee93c29 --- /dev/null +++ b/documentation/tools/containerfiles/entrypoint @@ -0,0 +1,6 @@ +#!/usr/bin/env sh + +tldir=/opt/docs-build-tex-tools/tl/bin/x86_64-linux +[ -d $tldir ] && export PATH="$PATH:$tldir" + +make -C documentation/ "$@" diff --git a/documentation/tools/host_packages_scripts/centosstream_docs.sh b/documentation/tools/host_packages_scripts/centosstream_docs.sh new file mode 100644 index 000000000..9202afc5b --- /dev/null +++ b/documentation/tools/host_packages_scripts/centosstream_docs.sh @@ -0,0 +1 @@ +sudo dnf install -y git glibc-locale-source librsvg2-tools make python3-pip which diff --git a/documentation/tools/host_packages_scripts/centosstream_essential.sh b/documentation/tools/host_packages_scripts/centosstream_essential.sh new file mode 100644 index 000000000..e38fa93c2 --- /dev/null +++ b/documentation/tools/host_packages_scripts/centosstream_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 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 diff --git a/documentation/tools/host_packages_scripts/tlmgr_docs_pdf.sh b/documentation/tools/host_packages_scripts/tlmgr_docs_pdf.sh new file mode 100644 index 000000000..f3b81da3e --- /dev/null +++ b/documentation/tools/host_packages_scripts/tlmgr_docs_pdf.sh @@ -0,0 +1,7 @@ +textooldir=${TEXTOOLDIR:-"./docs-build-tex-tools"} +mkdir -p "$textooldir"/tl +wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz -O "$textooldir"/install-tl-unx.tar.gz +zcat < "$textooldir"/install-tl-unx.tar.gz | tar xf - -C "$textooldir" +"$textooldir"/install-tl-*/install-tl --scheme=small --texdir="${textooldir}"/tl --no-interaction +PATH="$PATH:${textooldir}/tl/bin/x86_64-linux" tlmgr install titlesec varwidth tabulary needspace upquote framed capt-of wrapfig fncychap gnu-freefont ctex latexmk nimbus15 +rm -r "$textooldir"/install-tl* From patchwork Fri Dec 5 14:51:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 75956 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7F34DD32D95 for ; Fri, 5 Dec 2025 14:51:42 +0000 (UTC) Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.7373.1764946300151785006 for ; Fri, 05 Dec 2025 06:51:40 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=FL/jPGqw; spf=pass (domain: bootlin.com, ip: 185.171.202.116, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id 26E00C1964D for ; Fri, 5 Dec 2025 14:51:15 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 9A89C606AC for ; Fri, 5 Dec 2025 14:51:38 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 015B8102F0A9D; Fri, 5 Dec 2025 15:51:37 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1764946298; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=t0YOJurztN4qft2cQ9yrAhsPza3ZNDVGraIG13o/cIU=; b=FL/jPGqwCWPon7D5JnblFsFfXfbtKkfCWs+VWX2VqILH1Uo2D9W96qUbPUeCoZn227KwXx S4V0gpV5gi8a1AbM5KSJMjTOBwZFhrbv6eMeRK6Np150iveDSUrNceKMJK1pgcqrSZtBp2 N/vbC2HodJJJ1zM7zM4PlNaU7ii60NK0lQsMcvqS/jN72bVKe9KUnuS7/B2KgcgH8FcHcx hOZbEu8UOJQTSgWdRMm4vre1teh2Ru3yXUu2D65yZ09LHrcFrWmXb+SIqld5ACg6O/LYlQ 1Fx4OQ4Vb7iCfBuuO0uD5eF9gAv/p/+zniymwPRZlYOhzkRprmyd67Cp3CZ2Hg== From: Antonin Godard Date: Fri, 05 Dec 2025 15:51:27 +0100 Subject: [PATCH 4/5] ref-manual/system-requirements.rst: fix AlmaLinux PDF build MIME-Version: 1.0 Message-Id: <20251205-build-docs-container-tlmgr-v1-4-de30623e664d@bootlin.com> References: <20251205-build-docs-container-tlmgr-v1-0-de30623e664d@bootlin.com> In-Reply-To: <20251205-build-docs-container-tlmgr-v1-0-de30623e664d@bootlin.com> To: docs@lists.yoctoproject.org Cc: Thomas Petazzoni , Antonin Godard X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=5738; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=n1VK1V2q6fFK9sGxRZ5rR/vumwzXpaGzmJOguuF43jg=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBpMvF1kUD0RK0ccVZ9p/pbI20KGYT+ukp/NQ/IV fl3/skLh0+JAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaTLxdQAKCRDRgEFAKaOo NkhdD/9rk7+vQogsTDtWEDNweT8ewCx9UaNhoiLqPkJNGX7xpPhg5j+VFKqMHO5n/g8zmbFhy2a tfRrGS2p4jL7J796voz83T7g8/FqCtasxJSsT/kRG6FtR7e4Pn0LpgRozjLcprkHHJRp1bMRlyi AFWlID2u6LIpytyhpcDh1ya5pJVtHpnuoUigegjk0eYwfE3CgiBGbXeeQRV7dNdAZ7dhNTuZzXX nei4pgtdnFdgQ7crM3hE2SZ2Nt4/H0skLklB7yGNFUd4HV/XfeaKIwoRxi7xMYTkXFeRjeGEtIi FECFhy3xGsBdP1yd244y7llKsE7C6tx5rkMdd8xvtuLbjX7i70nKZAh1sszNX+zE47ALgKpd6bS RUair6+qTggb87mcC+DZ/bdMDRo0sb52rqnwo9a7kSza8iQVUIAB3mn4Uds+kZhTx9VD5Og4Yxa N1SWQtRPrQFn4u6pZXyYWqvQWQ/+Jp8FMJ10E6UyTLc+J2IRIDeIFlbU1+qDaMQD2eGNyLBM3ij KweJvs/jsUBK3+KjifMvaQd9nRd9bDzDXHUHNqLr28EADAJ0sE59JR0EPKcfNMQ9F8nEDe1FGUp 10z37GbKSpKCNxw2+vzHNllU1FE9LY0tOc0+xw9a0ApEABu4h0zo/6aSM/4EBsvy7QFPP1psSKu OxvoMAYt7iBHwDA== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 05 Dec 2025 14:51:42 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/8231 Use the new tlmgr_docs_pdf.sh script in build-docs-container to fix the build of the documentation PDF for AlmaLinux 8 and 9. Fix the almalinux_essential.sh script to either enable powertools or crb depending on the AlmaLinux version (powertools for 8, crb for 9). Pass -y to dnf install command (otherwise stops when building the container). Signed-off-by: Antonin Godard --- documentation/ref-manual/system-requirements.rst | 19 ++++++++++--------- documentation/tools/build-docs-container | 18 ++++++++++-------- .../tools/containerfiles/Containerfile.almalinux | 2 +- .../tools/host_packages_scripts/almalinux_docs_pdf.sh | 1 - .../host_packages_scripts/almalinux_essential.sh | 6 +++--- 5 files changed, 24 insertions(+), 22 deletions(-) diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst index 02b6a0cb9..af102ce98 100644 --- a/documentation/ref-manual/system-requirements.rst +++ b/documentation/ref-manual/system-requirements.rst @@ -253,18 +253,19 @@ Here are the packages needed to build Project documentation manuals: .. literalinclude:: ../tools/host_packages_scripts/pip3_docs.sh :language: shell -.. warning:: +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 `__: - 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 `_. +.. literalinclude:: ../tools/host_packages_scripts/tlmgr_docs_pdf.sh + :language: shell -In addition to the previous packages, here are the packages needed to build the -documentation in PDF format: +Before building the documentation PDF, setup the ``PATH`` to use the installed +packages: -.. literalinclude:: ../tools/host_packages_scripts/almalinux_docs_pdf.sh - :language: shell +.. code-block:: console + + $ export PATH="${PATH}:${textooldir}/tl/bin/x86_64-linux" CentOS Stream Packages ---------------------- diff --git a/documentation/tools/build-docs-container b/documentation/tools/build-docs-container index d753e2153..d61ba5d4c 100755 --- a/documentation/tools/build-docs-container +++ b/documentation/tools/build-docs-container @@ -33,6 +33,8 @@ $0 OCI_IMAGE [make arguments...] OCI_IMAGE is an image:tag of an OCI image hosted on hub.docker.com. It is one of: + - almalinux:8 + - almalinux:9 - debian:12 - debian:13 - fedora:39 @@ -84,14 +86,14 @@ main () version=$(echo "$image" | awk -F: '{print $NF}') case $image in - # Missing latexmk texlive-gnu-freefont packages at the very least - # "almalinux:8"*|\ - # "almalinux:9"*) - # containerfile=Containerfile.almalinux - # docs=almalinux_docs.sh - # docs_pdf=almalinux_docs_pdf.sh - # pip3=pip3_docs.sh - # ;; + "almalinux:8"*|\ + "almalinux:9"*) + containerfile=Containerfile.almalinux + essential=almalinux_essential.sh + docs=almalinux_docs.sh + docs_pdf=tlmgr_docs_pdf.sh + pip3=pip3_docs.sh + ;; # Missing python3-saneyaml # "debian:11"*|\ "debian:12"*|\ diff --git a/documentation/tools/containerfiles/Containerfile.almalinux b/documentation/tools/containerfiles/Containerfile.almalinux index 7237e9b99..5430d17dc 120000 --- a/documentation/tools/containerfiles/Containerfile.almalinux +++ b/documentation/tools/containerfiles/Containerfile.almalinux @@ -1 +1 @@ -Containerfile.dnf \ No newline at end of file +Containerfile.stream \ No newline at end of file diff --git a/documentation/tools/host_packages_scripts/almalinux_docs_pdf.sh b/documentation/tools/host_packages_scripts/almalinux_docs_pdf.sh deleted file mode 100644 index 8341eb8c2..000000000 --- a/documentation/tools/host_packages_scripts/almalinux_docs_pdf.sh +++ /dev/null @@ -1 +0,0 @@ -sudo dnf install latexmk texlive-collection-fontsrecommended texlive-collection-latex texlive-collection-latexrecommended texlive-collection-xetex texlive-fncychap texlive-gnu-freefont texlive-tex-gyre texlive-xetex diff --git a/documentation/tools/host_packages_scripts/almalinux_essential.sh b/documentation/tools/host_packages_scripts/almalinux_essential.sh index 76c5280ee..9564bb4fe 100644 --- a/documentation/tools/host_packages_scripts/almalinux_essential.sh +++ b/documentation/tools/host_packages_scripts/almalinux_essential.sh @@ -1,5 +1,5 @@ sudo dnf install -y epel-release -sudo yum install dnf-plugins-core -sudo dnf config-manager --set-enabled crb +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 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 +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 From patchwork Fri Dec 5 14:51:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 75955 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 84A03D32D96 for ; Fri, 5 Dec 2025 14:51:42 +0000 (UTC) Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.7466.1764946300938461017 for ; Fri, 05 Dec 2025 06:51:41 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=XO0I3S89; spf=pass (domain: bootlin.com, ip: 185.171.202.116, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id 02D42C19648 for ; Fri, 5 Dec 2025 14:51:16 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 7075E606AC for ; Fri, 5 Dec 2025 14:51:39 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 837C9102F0A9B; Fri, 5 Dec 2025 15:51:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1764946298; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=gxzTiKlJgAzypIpV90gVytsIFQedBKGk2uUo0uwVd8E=; b=XO0I3S89XUG49VU3XW4FBL4/wqvflpzokzpYZGfUCfSSMh6jQl/V96/o9gbA8tKJLETj3q sOs46rjPpG4PCuZz+WOAzqz7OzpsprqEIa8IBiVWlwqzWU/SrXm5WwdxchfnSI/p8Z6Yn7 y0w78EZzqUhFs5mEpEhTo+ilVsCYy0GowXGSjyjLvMrJtX/RINq5lwreAZq9ZyaXA2jgSY 8wt2NHozehjZNxN11sUrwPDnOQSzQOM1n30nNCWGUzBn7zfZWfWlNyUeWH+yx4/8n/KpLT dX0AfqtOZB0YoLefmp6bk6P86CVrGL37yUiNjU8m78udxWH5ztTflmps9Ybedw== From: Antonin Godard Date: Fri, 05 Dec 2025 15:51:28 +0100 Subject: [PATCH 5/5] ref-manual/system-requirements.rst: add RockyLinux install instructions MIME-Version: 1.0 Message-Id: <20251205-build-docs-container-tlmgr-v1-5-de30623e664d@bootlin.com> References: <20251205-build-docs-container-tlmgr-v1-0-de30623e664d@bootlin.com> In-Reply-To: <20251205-build-docs-container-tlmgr-v1-0-de30623e664d@bootlin.com> To: docs@lists.yoctoproject.org Cc: Thomas Petazzoni , Antonin Godard X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=5101; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=LwHt7nhP6b1B3D43H8QuAff5euInx0wS/jkGdg+yjSw=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBpMvF1QrLRVBfiTr3/tpzYaBhjz6z+NdfS8skg6 ZLYCuJpApKJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaTLxdQAKCRDRgEFAKaOo NvbcD/9T2GKpXCYbbbrAznoFDxn41Ks5ky2jmkDbjcXrOMG30cI9/LBTa85hc5oUOQjty/+XBE8 4F3Efo3f/yiBUGiJXWoO9Yy6QyiOYZ2dFIbguax1KRCuLMe7p+M0xrcWcA87M6BwMrH3O5nGGj3 uMuxUziAsM5ss44nApupEjsfz19s3zdbq1NcCRq/6OBELXP5WVF6FFaPuffRmSCkdRuwN9FHyqs AS9VIewpLNVOpdVoLPRMnb1kAsb4rAQT98TN5OWI9XqBwNVjtnKFKGu2Wm3jhwVT3IPxRc/dyFC +Sd3YFB6BX4avVAgM06mJlT4m/4rucfJug/No/fSW1KMdo+Wrl7u3qQ58d4xs+3otf4hd1ENYJK k8O3dtX0N0bzaw0TR/bKhfHIYwvAshPwji2VnaVWsWq74NWv2KUQVQ6xc5SZ89T2OJG7DipDH1/ GUbNn8y6a2eTcDjbIMx0mCGPbxf6EBsKBB2aX+ydHOsJwMCleWgQ116FlmFs8YT5uwwPptzgpZd 887pXoE6OXa1dVEm/4B5zL+hRiD4AvR8y4v9I/tBnKuriO3M9OHeNYIgEhdObMGPv2JG7n1KMMz c3hkqML6kIarMV75ZZj8ugAqaq0xV6K17WmWlyjlndiajLLuzuURvXnnnK4Y+TilZEF/tYh3p7I GOroeQlTWlNYjOQ== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 05 Dec 2025 14:51:42 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/8232 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 --- documentation/ref-manual/system-requirements.rst | 44 ++++++++++++++++++++++ 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, 61 insertions(+) diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst index af102ce98..79513687d 100644 --- a/documentation/ref-manual/system-requirements.rst +++ b/documentation/ref-manual/system-requirements.rst @@ -294,6 +294,50 @@ the `TeX Live package manager `__: 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 `__: + +.. literalinclude:: ../tools/host_packages_scripts/tlmgr_docs_pdf.sh + :language: shell + +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 d61ba5d4c..d92d6ee50 100755 --- a/documentation/tools/build-docs-container +++ b/documentation/tools/build-docs-container @@ -43,6 +43,8 @@ $0 OCI_IMAGE [make arguments...] - fedora:42 - leap:15.5 - leap:15.6 + - rockylinux:8 + - rockylinux:9 - tgagor/centos:stream9 - ubuntu:22.04 - ubuntu:24.04 @@ -122,6 +124,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 + ;; "tgagor/centos:stream9"*) containerfile=Containerfile.stream essential=centosstream_essential.sh 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..8188d529a --- /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 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