From patchwork Thu Dec 11 09:06:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 76271 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 5FC98D41C14 for ; Thu, 11 Dec 2025 09:06:31 +0000 (UTC) Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.5426.1765443984311004225 for ; Thu, 11 Dec 2025 01:06:25 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=cTSNJ6uo; spf=pass (domain: bootlin.com, ip: 185.246.85.4, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id 94FA04E41B77 for ; Thu, 11 Dec 2025 09:06:22 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 66C956068C for ; Thu, 11 Dec 2025 09:06:22 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id D146E103C8C7B; Thu, 11 Dec 2025 10:06:21 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1765443982; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=B9jdqOvHS9vx1U1OHDQoMOzsvb2sasVWICwGeBVcipI=; b=cTSNJ6uoNxEgtPAw1Py+aBcHFIiUctCAPdlIm6FymHw03g+FYWD91Pn5Ufq1PqBs2EkIkP eg9zzJOIlTy5D6Tjc+mtPYo8jdq+ErEldR5er+2Ogras49sYZfHQ7PVqx1vadbUI1XHthm /zcoL7S4Iwfll+BVsudwo9JhNY2GQGBODqDDb8pFZ9G6l/Ixu9WEdENjQYn7cZGVKVvICc 7p88FAO84H2SyKPWtIvJcIQVY8HyzphLfT0+465FfAfv0qGtLyFjjadudMeRnjoA+4On3k 3ekSRhHIcvoDVuwkRd4UVGiFhadJa1t+BaA2pQRFvVcz6/QrX7I1Fs5bZFBddA== From: Antonin Godard Date: Thu, 11 Dec 2025 10:06:14 +0100 Subject: [PATCH v2 1/5] tools/build-docs-container: move container files in their own directory MIME-Version: 1.0 Message-Id: <20251211-build-docs-container-tlmgr-v2-1-58719c103a50@bootlin.com> References: <20251211-build-docs-container-tlmgr-v2-0-58719c103a50@bootlin.com> In-Reply-To: <20251211-build-docs-container-tlmgr-v2-0-58719c103a50@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/ZANAwAKAdGAQUApo6g2AcsmYgBpOomLH32oDdLHUUbaFRWFCfkiGP19ivY88c8GT GiZQnT3aJ+JAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaTqJiwAKCRDRgEFAKaOo NoJSD/4k8hJsptUTgNU2HOiVqV5GFwW0Q5sQbX8EetIj2W+cBOJhhhcnrW36svzrMulKW6e2XRm 3HLc564SDbm4HNii/hBWV3RwFyNq8KwHSa18NqkpJLF/WDB5NwjZcQ2zxR94qqWl9BRKrzSLrpo erv4QZb1WQPZ62SH2CDlS21bYn1I1D+D1Ykp1WzppzjHfDEy6C65DnmzQt901s1NPdllTvaowA8 PSpvwSYyGXhU9uNVKgQu3jUJEzMxKf8bN+y2nPye0Dq2vKtIQta9n5fqkc9q+Xb1dnP3y1Ie2QH 5WOHHtNn9f3iHYlw7ea21f0Da7N8ORyg+0Hv1yrfRJF3cwES9+RTVjefxAYduFEruZqVg/pbZ/H 9PeDuq7kxwCHDPgQq1kmNQmjev4NRbstTKUpuEVH85fIxZfCx3/G+LBHk7JySIXtgecI9WvxQLX 34RfdJE87FcYxzqTZgJvrden77ZvXidGAxfVRJSMfXQoWTsUG3FwkQ4AEYLNFWaudSyNDFz3MFP PHOydOq/nN76oGr15TtI01U5hGdwC5ZKLpYzH8Fg1UwwdKHEhBoQ7IeJQi0+qWXkM4Irm23hog9 dzZMUc43GCioJOgk3XieNzTeM49TdewZrFOhPgII0UUJTRy/WsDIuaInEhuTAIAb5xa0dNdDlNU pDf8QMd0Ecwq5Ig== 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 ; Thu, 11 Dec 2025 09:06:31 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/8244 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 Thu Dec 11 09:06:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 76273 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 5E6CAD41C0B for ; Thu, 11 Dec 2025 09:06:31 +0000 (UTC) Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.5427.1765443984758295487 for ; Thu, 11 Dec 2025 01:06:25 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=yVKmtooE; spf=pass (domain: bootlin.com, ip: 185.246.85.4, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id 06F7C4E41B79 for ; Thu, 11 Dec 2025 09:06:23 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id D30EC6068C for ; Thu, 11 Dec 2025 09:06:22 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 4CF18103C8D53; Thu, 11 Dec 2025 10:06:22 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1765443982; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=/XXhgfMdf9AUqWtBK4xRnZ3CpJrpWVy4G2vMMkilvFk=; b=yVKmtooETHeHvuxHtO7a6yOSYL0PzUOH7vAjbFEmL39i7FPTz7jZ6fgxS5Zvy/tYXt2FTW Qgu1qeOTA5oTbmxoXY0kSYtvIEEEblNjzYNUXUuQ7wZUKbvaBXh9r9a30XxEudzAB5yQHm rLnBZxPElGf1JJNtu+fICziEErpQ4AkIbG/DA+mLxpTtCd5IzUrX3ZOEl5bSB24gJRF39q wgbWKeL4rgGuDJCtf9Sog57Foah6tcaMU1f0BchSlck1S4+R9PzW+R1iKaNK0XAKrFqIS0 YEVN+qKzIKk6fRVyjIiWJuoxdE+GQrzBHEEbWTAyRHypiIZN5s4A9AUk2b/8IQ== From: Antonin Godard Date: Thu, 11 Dec 2025 10:06:15 +0100 Subject: [PATCH v2 2/5] Makefile: fix rsvg-convert --format capitalization MIME-Version: 1.0 Message-Id: <20251211-build-docs-container-tlmgr-v2-2-58719c103a50@bootlin.com> References: <20251211-build-docs-container-tlmgr-v2-0-58719c103a50@bootlin.com> In-Reply-To: <20251211-build-docs-container-tlmgr-v2-0-58719c103a50@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/ZANAwAKAdGAQUApo6g2AcsmYgBpOomLNY1umsXpbPJ6+AblfhbF+Lqp7bZCy774g /kqTIzlP2SJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaTqJiwAKCRDRgEFAKaOo NsP9D/0a1zxpdXUSmquW0KyaVn9W+su1F8nMia/OnLLmGZ8VYZgvBDqi1bsR68Dlmd1wuJNkPPs i2paxndXiLKeqQJtaArqPxyux3C5Uux7llh7X7znvZSFwO7fO3BI0O/JbFcwW3KguHx1gulq0lg CBS/w0GPMxpHBqKAt0mcxcqYYHt5YoL0sYhUmVFZLsvgTyosRE4QNDvGyV+JRe2T6TRxLnKzvFv nyz5JT19a1fLabBA25Rj61KQrymrHKHlQzvmSgBDrccWMXiSeoPcLr3SEhtgcR7eyO8zHz2vAVy ZeRzRO6w7o8huaFj28C4nSZQiq8N4+nbWIVMJuOz36C+zyqFnuzfcWCBf12yemTDyDvyVNgrQWY 9AppQqYxQSrZVCLKkFB/ElcLoff2TAjfOn/N6H2B9ZRXoB3GtyUcPcJ4P81cWdSIH+lDC7CTMQV KaneZ/YaZVtZf3xaB/agUkJCNcPRchdzNC+rzZ0XC3doWnVRXGMO7I3ApzuT0ktdJzK6d8u/zex Y2dgmBSha1mcym6Kf4lqS1DcsvlbYlDEWbcsZtaGs6LkIMpUJTUkMptVHNGytrzgeZripdPrIIb Ca6/TvXktKHXCXjDz0/zgbUjDn37JKgw3XjBRmE3qnCYVbHyZZiEsX5V65POBAoNlNNTZSx+e/h Pi17Va8fCfMGQYQ== 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 ; Thu, 11 Dec 2025 09:06:31 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/8242 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 Thu Dec 11 09:06:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 76272 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 6374AD41C12 for ; Thu, 11 Dec 2025 09:06:31 +0000 (UTC) Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.5428.1765443985031379874 for ; Thu, 11 Dec 2025 01:06:25 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=u2BL3UCo; spf=pass (domain: bootlin.com, ip: 185.246.85.4, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id 85F6B4E41B7A for ; Thu, 11 Dec 2025 09:06:23 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 5EDF16068C for ; Thu, 11 Dec 2025 09:06:23 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id B7B09103C8E11; Thu, 11 Dec 2025 10:06:22 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1765443982; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=pcRbUfFhzPhBhWFBoqMXqOB27sQS16BNrFgFe4rwoBQ=; b=u2BL3UCoD2hYCojRran7nUHx+d6Mlr52TlLYleCdnBk8AX9bSEq1/pfrT/bYHhIw86D92B LpaAsCpLIuLvUY7AMjyR1Ifz4SEUgqQLBjWRLruhtjAEygeZy8eSIDk6EC9bMFtA1pXCrw JTwRe/7/lbOIi4YaTl1n7gVOYVP5zyMg1CoRnUcLiiUP5wa5nsaTlyj7wVbnqhO8ZHsq5K 5g3K+CeEV5aidIna0/SlV2Ljo0PAfuPxfECWVbTVpKlaAf887olcm0z7jZj6sXw5zClcZ4 5/V7+YLnoLni2GO0elfKHG34Ok9SgsyfK8iRHM4kTFbr2uDU1XM6hs7iGGiJjg== From: Antonin Godard Date: Thu, 11 Dec 2025 10:06:16 +0100 Subject: [PATCH v2 3/5] tools/build-docs-container: add CentOS Stream 9 support MIME-Version: 1.0 Message-Id: <20251211-build-docs-container-tlmgr-v2-3-58719c103a50@bootlin.com> References: <20251211-build-docs-container-tlmgr-v2-0-58719c103a50@bootlin.com> In-Reply-To: <20251211-build-docs-container-tlmgr-v2-0-58719c103a50@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=7493; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=M+J1l1x937ojuZgH7JAy/imsUZdZSKOm2hjn6ObqU28=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBpOomM01SQtO8+wm+h5qC+BkK3rF303QyFUYRV5 1uChlZZV5GJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaTqJjAAKCRDRgEFAKaOo NuoYD/0aBBS06t7w8G146kdMHwzFfhEJdEXR0dgF1QlpHmRfIeUmat+LaIEDGxzT5mhaktmsw6e MzzMvPV9U+9/pukQz2m5tQiK2M6J95k1OQZmoKbD8FUPklVjBK/dK9pSUpFilKNEQOqDoMrB1Zr bRFweaCEIx2JNb2vcYWHrfAOttzOxXgRm9XrwhFSBvL0RCfsmSCUNhpG0iavurj2xGr4Ph3U94S RcAoSRYtkxRNiwG7hJM7Lalk61uHtB62Yexb4lo0l+fRTa+AAgwfKGI4KLwz6xSMHjcWNoyimZi aNzS5Tc/GLNewgOanOM0eQpzcge+NFk3ySItTxrbkopZeT0GyrpzwG7scys6tlRV39bS+cew6ry bwwHFO/JmTIOxgAYzFwpZ9Ruz9JJSPghjsXitcTAvbQmLKDbJsENwLCG3new4Jv1EJfupsv2kvN xDiDQVTfi4y+unrcnfLOEFqysDxXfmifN357C8upBFMvzBy8ab3M0M5NAGzYZiMm/BLZT+H/ypL dgsqN0x+JCGhfLi0sKdJDwra6LnnMtot4RC7iUSA2AblScpMDuOU8AhN/HJuxBukuBjaZAApbjX yXzjl7FcBnGNkM2YDNuAfKOy+U4Y2Nn59zQXdDmVy6NDsPo0R88NqcaS1weqJYqq+qWaeVHfqaj dAqmMwm28ubyYmw== 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 ; Thu, 11 Dec 2025 09:06:31 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/8243 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 | 35 ++++++++++++++++++++++ documentation/tools/build-docs-container | 14 ++++++++- .../tools/containerfiles/Containerfile.dnf | 3 ++ .../tools/containerfiles/Containerfile.stream | 1 + .../host_packages_scripts/centosstream_docs.sh | 1 + .../centosstream_essential.sh | 5 ++++ .../tools/host_packages_scripts/tlmgr_docs_pdf.sh | 7 +++++ 7 files changed, 65 insertions(+), 1 deletion(-) diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst index 9ed29a1df..e9d5012e3 100644 --- a/documentation/ref-manual/system-requirements.rst +++ b/documentation/ref-manual/system-requirements.rst @@ -266,6 +266,41 @@ 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 + +.. 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" + .. _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..0800c4333 100755 --- a/documentation/tools/build-docs-container +++ b/documentation/tools/build-docs-container @@ -33,6 +33,7 @@ $0 OCI_IMAGE [make arguments...] OCI_IMAGE is an image:tag of an OCI image hosted on hub.docker.com. It is one of: + - centos:stream9 - debian:12 - debian:13 - fedora:39 @@ -91,6 +92,14 @@ main () # docs_pdf=almalinux_docs_pdf.sh # pip3=pip3_docs.sh # ;; + "centos:stream9"*) + containerfile=Containerfile.stream + essential=centosstream_essential.sh + docs=centosstream_docs.sh + docs_pdf=tlmgr_docs_pdf.sh + pip3=pip3_docs.sh + repo=quay.io/centos + ;; # Missing python3-saneyaml # "debian:11"*|\ "debian:12"*|\ @@ -135,9 +144,12 @@ main () ;; esac + # Default to docker.io unless specified above + [ -z "$repo" ] && repo=docker.io + $OCI build \ --tag "yocto-docs-$sanitized_dockername:latest" \ - --build-arg ARG_FROM="docker.io/$image" \ + --build-arg ARG_FROM="$repo/$image" \ --build-arg INCLUDE_ESSENTIAL_PACKAGES="${INCLUDE_ESSENTIAL_PACKAGES}" \ --build-arg ESSENTIAL="host_packages_scripts/$essential" \ --build-arg DOCS="host_packages_scripts/$docs" \ diff --git a/documentation/tools/containerfiles/Containerfile.dnf b/documentation/tools/containerfiles/Containerfile.dnf index 65c526705..fd47fde34 100644 --- a/documentation/tools/containerfiles/Containerfile.dnf +++ b/documentation/tools/containerfiles/Containerfile.dnf @@ -7,6 +7,9 @@ ARG DOCS=fedora_docs.sh ARG DOCS_PDF=fedora_docs_pdf.sh ARG PIP3=pip3_docs.sh +ENV TEXTOOLDIR=/opt/docs-build-tex-tools +ENV PATH="$PATH:$TEXTOOLDIR/tl/bin/x86_64-linux" + # 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 diff --git a/documentation/tools/containerfiles/Containerfile.stream b/documentation/tools/containerfiles/Containerfile.stream new file mode 120000 index 000000000..7237e9b99 --- /dev/null +++ b/documentation/tools/containerfiles/Containerfile.stream @@ -0,0 +1 @@ +Containerfile.dnf \ No newline at end of file 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..351f75893 --- /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 wget 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..727bf9e35 --- /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 +tar xzf "$textooldir"/install-tl-unx.tar.gz -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 Thu Dec 11 09:06:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 76274 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 6E7CFD41C18 for ; Thu, 11 Dec 2025 09:06:31 +0000 (UTC) Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.5429.1765443985805426038 for ; Thu, 11 Dec 2025 01:06:26 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=UVevp1PP; spf=pass (domain: bootlin.com, ip: 185.246.85.4, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id 524684E41B7B for ; Thu, 11 Dec 2025 09:06:24 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 2B3216068C for ; Thu, 11 Dec 2025 09:06:24 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 484D8103C8E13; Thu, 11 Dec 2025 10:06:23 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1765443983; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=a/2OLZ/cLrva9OslQQUeoq6xwDVCpR7ixP0WsrBo5Oc=; b=UVevp1PP20zOy0c82I8Qzvuq4MHg5wybXOoo4InPQPqOwMXQlVQgnIwk9+HTJ7d16JZ19C PQEcf041XyGaUKI0WeiG/NJQbLKdMe5vhnayRUDX0fLNFzZ7uu5AEJoldSWxBkyH+qlnR5 6JmMdt4xZqRtkcC9Dw9f5Uk0eI9JzrRgZr4Bdf+vF65+nuOoVE3hCq8T8Dh8C9+kPWdOtn 0oFhTNgClPF+sNcPHQSMHsv7jr1Sx5QJn7GhlofrdfJnPX/F064D9NX5QK99L+h3d8mKS3 AWkwlML4/53ZWl/ZUS4h35ikXQpjQucmKuixmw7iL9kh/LV9xodsOuBbAaEIpw== From: Antonin Godard Date: Thu, 11 Dec 2025 10:06:17 +0100 Subject: [PATCH v2 4/5] ref-manual/system-requirements.rst: fix AlmaLinux PDF build MIME-Version: 1.0 Message-Id: <20251211-build-docs-container-tlmgr-v2-4-58719c103a50@bootlin.com> References: <20251211-build-docs-container-tlmgr-v2-0-58719c103a50@bootlin.com> In-Reply-To: <20251211-build-docs-container-tlmgr-v2-0-58719c103a50@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=6394; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=tpTlK0gHOunIzYoiR1OTnVjgH43mxh+CSa9XaACfSZE=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBpOomMOCQGGFixjyLHmtqIwulM6m7yy47sOFn/a ZAKT/AcI7GJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaTqJjAAKCRDRgEFAKaOo NtIXEAClkXiCQBSnaSBBa2bUgw+38tcR5pJBtDZytdsaEzepZPKs4zBP0AVoK2fNnYCDTm+7zHx uNoGeHr5/urySyBtPzlDL/cFThCksBegXCKhMwY53SEHCZIvKLPFqbWCPc8SeRV3av+D9kb+GZX io4MRxO85nWHObk1Lp1TDwOKFehW3ZINn/cX4Ie2qbYsng6DOD/oKQbBbX55YpYzfqRTK0u2ZtG h4tSgdvszWNMA9n71vjV3yNmxrbuKuz/+lHFDM53GLFyoJ/bwqEBabEwVXNpjr81E4G/VAyonQy +mSLqxhUPfogaI7OhBft8yoxjq0fHmxkAsGdsGCP4pqv9QU+tfopHu1NqVl0B3dt7YTwK4uRker oPt6nAH1MuFkCDRGQCfa4JNXIRhhuP8ZjhoODqPDYQY4HdQnbmcKqZnCZEWbuNjqAwQ1irqroRB W5aS3KeZAfZ/ZhcAnP/u/jL1aD4bnNl24ImZFm0BZo/V1SmEnBelrUs6zkrHianjFBtxeUWML/P JuniNgh/6KNZSIfxY6GDr/+5JYjF4W7qFMC2p0Xv6igjrp7JXRF1ycW8g5fVNJSvjrSESVrJXq4 uRT5AMUw4eFXAilCRsJNhNUzE7VkWuBarXESlnS9xl55ObQT4f/8RJgdDhhwRi4to+ZgJSzvSRN tRc1/iuO5HNFy4A== 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 ; Thu, 11 Dec 2025 09:06:31 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/8246 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 | 21 +++++++++++++-------- documentation/tools/build-docs-container | 18 ++++++++++-------- .../tools/containerfiles/Containerfile.almalinux | 2 +- .../tools/host_packages_scripts/almalinux_docs.sh | 2 +- .../host_packages_scripts/almalinux_docs_pdf.sh | 1 - .../host_packages_scripts/almalinux_essential.sh | 6 +++--- 6 files changed, 28 insertions(+), 22 deletions(-) diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst index e9d5012e3..4063253f7 100644 --- a/documentation/ref-manual/system-requirements.rst +++ b/documentation/ref-manual/system-requirements.rst @@ -253,18 +253,23 @@ Here are the packages needed to build Project documentation manuals: .. 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 + .. 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 `_. + 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: -In addition to the previous packages, here are the packages needed to build the -documentation in PDF format: +.. code-block:: console -.. literalinclude:: ../tools/host_packages_scripts/almalinux_docs_pdf.sh - :language: shell + $ 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 0800c4333..9d1bfdcdf 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 - centos:stream9 - debian:12 - debian:13 @@ -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 + ;; "centos:stream9"*) containerfile=Containerfile.stream essential=centosstream_essential.sh 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.sh b/documentation/tools/host_packages_scripts/almalinux_docs.sh index 8188d529a..dfb201fe2 100644 --- a/documentation/tools/host_packages_scripts/almalinux_docs.sh +++ b/documentation/tools/host_packages_scripts/almalinux_docs.sh @@ -1 +1 @@ -sudo dnf install git glibc-locale-source librsvg2-tools make python3-pip which +sudo dnf install git glibc-locale-source librsvg2-tools make python3-pip which wget 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 Thu Dec 11 09:06:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 76275 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 58019D41C14 for ; Thu, 11 Dec 2025 09:06:41 +0000 (UTC) Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.5346.1765443987243346037 for ; Thu, 11 Dec 2025 01:06:27 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=QIdt5/q2; spf=pass (domain: bootlin.com, ip: 185.246.85.4, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id D4B954E41B7D for ; Thu, 11 Dec 2025 09:06:24 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id AB0CB6068C for ; Thu, 11 Dec 2025 09:06:24 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 028DE103C8E16; Thu, 11 Dec 2025 10:06:23 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1765443984; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=yn4T8g6qt3/SAYp4DuKnGnT7WMO4eissUgIskLUlEIM=; b=QIdt5/q2p2UcZ6O27MaNj7vPi33/Aq1Bi41zHzbAs46pNON9jCwGVboCShgp5w/1O9c7lG TcaS2+dPWx0BaoNYTRq20VcDqfJ9drNR6dk7SAmOiZxEr9Czu61mAABcNk3QM2XWB0qxkI e7OHZTjQo51k9lTnqMw4RyfF78+Vrp+kYaGFhrWCCQKgfAaJUiiCs0AOe/CvZqDNHSpJsH quxg+uvlq2VYyKkVypn5b3kH7QeqXE8naU1XtMwMqQFd/LiFe7hrqTfuFIoE/awsT4t/qv XqcWDOWaxceGWj5Ux01wgrVpQRFxA5muacyRuvhaRmj8mYeCNc1LEyHp0Nhy5A== From: Antonin Godard Date: Thu, 11 Dec 2025 10:06:18 +0100 Subject: [PATCH v2 5/5] ref-manual/system-requirements.rst: add RockyLinux install instructions MIME-Version: 1.0 Message-Id: <20251211-build-docs-container-tlmgr-v2-5-58719c103a50@bootlin.com> References: <20251211-build-docs-container-tlmgr-v2-0-58719c103a50@bootlin.com> In-Reply-To: <20251211-build-docs-container-tlmgr-v2-0-58719c103a50@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=5142; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=kihFm8A5UtcxZiPCcDKBsUEukXv+toHphtztEfpGEE4=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBpOomMYHfscIbop1UmzOAleFDe/fSHOI7+Fk5QL llZ6ZipQAuJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaTqJjAAKCRDRgEFAKaOo NsjzD/9/L4oAWFaQxwJcqRFdORi3/fGqwd3fyQVm8ex5+VU6Ipgh5OH7fNyqxlp7J0HWdiAdX7/ L4ppZeoIea7jF5jsvvCQ3Of3b0reuEdmvCy4RmW8kkvoBco6gibhOQOGnUfzJUpc+Em3EiQTh/q W4DrqYBFm3KK4oDCG3fuqhCJw5fZ4OdVtOo7TuomIV/EHybIMvAleF+fArp5s1Ws1Au2BWfNVpg Az2Bc0rKA/ZyTbn0UIeTSNgXO87NV+zz8tw/zV3Wy5lzBTuKfFB3ruCr1+jvq+olIPecw8MjRLt uGDknIrZBVGk45gK+8WNHC4weyijV3bWVdWRROe9anRq9GkSvOLko+dZoi4ivj9D4eivL8rEJee HaCTffPJNrr4SNIBRgWHDChdtX3pxMB/nphORNbeOcGMIER3YsWBH/0m7RggicSVGPynVhItTK8 5mHp1lZ+s8Gxy9AhoIjPJv78UfMzDOKyUs3+t4KVkgNpoTPkBKGnj8RqNctdbF2wVb9fnJ0R2Ug G008YZnyx5BnhodpSjBMpc6oTW7hJzgGFk6pta3eFwG2WZVHSeIPomwW1oYuQGvBVEc0xF9gdgd Fh4cl2DEPsXVTOk7Iu4XNaz1IwgknoYl3MathteVwDyuDd+9HkCGKGO44MtIGLBVo/DEDmWAUy2 OJUV6HGkixDmYPg== 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 ; Thu, 11 Dec 2025 09:06:41 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/8247 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 | 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 `__: 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 + +.. 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