From patchwork Thu Jul 2 13:59:10 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 91579 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 DDB29C43327 for ; Thu, 2 Jul 2026 13:59:34 +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.70282.1783000766934160269 for ; Thu, 02 Jul 2026 06:59:28 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=kkUIozQ+; 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 328104E40C36 for ; Thu, 2 Jul 2026 13:59:25 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 004345FF03 for ; Thu, 2 Jul 2026 13:59:25 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 694F3104C957F; Thu, 2 Jul 2026 15:59:24 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1783000764; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=bQvfZAMIlyAKUxIGKWQ3ipFIKi1k1lfF8HD0uNXqMiA=; b=kkUIozQ+tIbsYa/HrTnCrXpEN7DoBiEFPtf0tiBmTTCGJOChJtdOvjEXFkFT4Fig58192U mlhwgU4LZT6qSPymO0X/a9suf+65ZN1vI2BvuUIN7+Px59y/1ctwPaZrXOoDH8220QYGlA rWBnP3kshZWUlZ58Wb3QPjkgTghCeN1Kj/7oO4pFkYYwcI/hvBoCWkMNnwtroamSAlBFek hnS2T3jhBadp25Kih4+ruPG7E/FJ3za0hY8VF4RWtoa5B2mKvedcN4vaL6z0FH1CZs6urE jkeV/7uQMy0iNTbFkEPGJNVYr7KGOzL/9fMMF+KUKpaJe+U8mJ3FfxE87PLD3w== From: Antonin Godard Date: Thu, 02 Jul 2026 15:59:10 +0200 Subject: [PATCH 1/3] tools/check-glossaries: return 1 in case of failure MIME-Version: 1.0 Message-Id: <20260702-pre-commit-v1-1-0ebd211b5d5e@bootlin.com> References: <20260702-pre-commit-v1-0-0ebd211b5d5e@bootlin.com> In-Reply-To: <20260702-pre-commit-v1-0-0ebd211b5d5e@bootlin.com> To: docs@lists.yoctoproject.org Cc: Thomas Petazzoni , Antonin Godard X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1670; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=JeVElhmeoEA5sJ9tVKTrRWrnjUPOCYyUJ/7agfWBzSA=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBqRm6691sHb+w7pU1enaiGUvDsENPPrN3og7522 xeF6/WoshGJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCakZuugAKCRDRgEFAKaOo Ng/ED/4nq2CcFuLhOxQTi70u9c/bu0rmLrtykKl3NIRWWaBnZnkswtTqn/BrDjmS9XtJ28LOo9N VO0gXdKiPxePpuMYPYQXueTFnCefvyH+6Z4KDHAqOUsBBmqQC0/galAhn8bIKP47CykHgAhgctQ pzn/3IsJ3dErNRp8lvvDj/rZLuir32tqhODMPrWAqOCIYcGJRRBcuxHTE33LqPltwSELjuuGqV5 IacZ82HxnCmoDOvleq/b/jFKZ5101W4Fn+fwNpETmHWJZZcbd0nt6GDyIIBmjYWZCAIUDMVVgzn 5niV2im+4VE+Sd/By+UHwHdnk/Gkbvb5Qsym2HfSIfOL+ZiIfieOEkx0LOkPYHPfA0iJCkRt2Yc YDf4DHLXsRHcf1iIyvXRsPCRn7I0Q/LgU0iAjsyjsC+MOHYYd1jcxQu1d2GlUj4qs996b8iGyMl Si3t9alFEw9+HIvYp5pYOF7C8sbPO0iMRIrwgHVnxWcyTi6Z1/wbFTvd6Uj1Yh+7t2TjXfGFfOf w3vY19jVNi5vM33lXgCF4rxXR91LK7fQppLQuNOU2yLNn794eKFeOzy+GNQxThaFdoEHSp4zddu prMxQFcxLkPVeVLeAdQyT+fpZ4CUQr6zC7DgnSOr/aoVcpTTuNB0BDwH5M8KnfQwV2d+untEhJl APkefwgpFVd9MjA== 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, 02 Jul 2026 13:59:34 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/10002 Exit with 1 in case there's an issue with the glossaries. This will be used in the next commit. Signed-off-by: Antonin Godard --- documentation/tools/check-glossaries | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/documentation/tools/check-glossaries b/documentation/tools/check-glossaries index b5dfe834e..9f1a47126 100755 --- a/documentation/tools/check-glossaries +++ b/documentation/tools/check-glossaries @@ -4,6 +4,7 @@ import argparse import difflib import os import re +import sys from pathlib import Path @@ -33,6 +34,7 @@ def main(): # :term:`A ` :term:`B` :term:`C ` glossary_re = re.compile(r":term:`(?P[A-Z]{1})( <(?P[A-Z_]+)>)?`") entry_re = re.compile(r"^ :term:`(?P.+)`\s*$") + exit_code = 0 for rst in glossaries: @@ -74,6 +76,7 @@ def main(): if diffs: print(f"WARNING: {rst}: entries are not properly sorted:") print('\n'.join(diffs)) + exit_code = 1 for letter in glossary: try: @@ -81,9 +84,13 @@ def main(): except ValueError: print(f"WARNING: {rst}: variable " f"{glossary[letter]} in glossary does not exist") + exit_code = 1 if index > 0 and entries[index - 1].startswith(letter[0]): print(f"WARNING: {rst}: The variable {glossary[letter]} shouldn't be in " "the glossary.") + exit_code = 1 + + sys.exit(exit_code) if __name__ == "__main__": From patchwork Thu Jul 2 13:59:11 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 91577 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 37DCDC43602 for ; Thu, 2 Jul 2026 13:59:34 +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.69784.1783000767601699835 for ; Thu, 02 Jul 2026 06:59:27 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=lNHsj7GV; 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 DFA984E40C39 for ; Thu, 2 Jul 2026 13:59:25 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id AF2355FF03 for ; Thu, 2 Jul 2026 13:59:25 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id D9CC2104C9589; Thu, 2 Jul 2026 15:59:24 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1783000765; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=gwfT6z9szEBWEVfE4dQUgelodIKd3Qzx566KjvIs2UI=; b=lNHsj7GVJlZxylCfgKonSeUXTHA3HTX7EttDKknvUp+oiOur1lGu6i6peJO1b0590ru1pW kVvOA0u/KoU09aG2GQxqItou1MT3o2PH8ZGtGYdaG1MK2yoXqHH/8ei+Vg3InoHonIMxor vImsW74RJrABTSE3dFGHbrIp6poOufSBrnxkdGs9OmP6froZNxmF3dZJTo2jDJzor4aPHY AjG1U7ooGWMsJAdOJEwPW0Ku83w/py/1B0vuWXPJ+JSWHqSj7NbNqecHKYX3sJbYmMO8TG iTAknGVVb8R/HnJSH8iAHTL/5lquyeablTy1CRnLaXRS+HHGyGzSuQbT6/Pxag== From: Antonin Godard Date: Thu, 02 Jul 2026 15:59:11 +0200 Subject: [PATCH 2/3] tools/check-glossaries: fix default doc path MIME-Version: 1.0 Message-Id: <20260702-pre-commit-v1-2-0ebd211b5d5e@bootlin.com> References: <20260702-pre-commit-v1-0-0ebd211b5d5e@bootlin.com> In-Reply-To: <20260702-pre-commit-v1-0-0ebd211b5d5e@bootlin.com> To: docs@lists.yoctoproject.org Cc: Thomas Petazzoni , Antonin Godard X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=922; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=Yl++XvfjujrW8iKOhJr4s0jSMwgPFpbv8KxckYmOBAs=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBqRm668s3vjQO38vdcyw2sNQDx9vsYpShT8NGB6 AFSeVdEWW6JAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCakZuugAKCRDRgEFAKaOo Nq48D/97Z/DWKKkQVE8f4QYCa1NUhmac1fjGYbzG5zZ4GOjMBkBYl6xL/zhBgfT6f8UbZq4hzzM LMHzhhOZzg9KcRe/AevZzu37eV0lC5O4tE5ZSWh9iR4m1pQdXWYuHJwNyLb2KB2l/OTphqVP+LE 95x79m2VMqovIuKFBEpLC8A+woOz15D/igVYr4AcMCkwMpC3BF7h3jMZXNl7+YqxZtipDzNOW2Z MX0cTdTxM/eOwi7q4ylaX3neu0sYqtkpNzJ6zjclEVRryviP7cyFz1DhbdcZ3FyzC7usAGZhhEO vO7MgD+DlNqoJ8vXKbRtpbKjAax2mZd6BIQsfmOjp2IySXS/U5CLAb+0QNR1LMg+8QSC7bttqBt hUzmpdQtgmtYzyg2Sr9TLUXszUC8hMb/ltN5df3BDox45ReeyFqxgQTQTxkCf2ROxp7tOiO2DhP 8FXnWMMmMmJys1cspChYFbdRp/Lw27z59ULT7aPoDl9FTNA5PLFTtUjE0wDvXT0k4UFXxFsMuWt 6QhXp/eVD3aNE2kChra2dIUEHuvz1XrZ1HZaNj+qgQ24hZ+BQUe1fwWR4/NfBQsPD7E3keoWPpt gF0B71GGMRBglWEIoVbZgjLSUgr3bJRC+EvKsmxkMld7V86LzZ1VIfDHPC7CQylqW8hHKDCFEZA X4jQZUa4hPZVSvA== 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, 02 Jul 2026 13:59:34 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/10001 This default path pointing to the documentation was wrong, fix it. Signed-off-by: Antonin Godard --- documentation/tools/check-glossaries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/tools/check-glossaries b/documentation/tools/check-glossaries index 9f1a47126..6bfddcfda 100755 --- a/documentation/tools/check-glossaries +++ b/documentation/tools/check-glossaries @@ -14,7 +14,7 @@ def parse_arguments() -> argparse.Namespace: parser.add_argument("-d", "--docs-dir", type=Path, - default=Path(os.path.dirname(os.path.realpath(__file__))) / "documentation", + default=Path(os.path.dirname(os.path.realpath(__file__))) / "../", help="Path to documentation/ directory in yocto-docs") return parser.parse_args() From patchwork Thu Jul 2 13:59:12 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 91578 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 0E210C44500 for ; Thu, 2 Jul 2026 13:59:35 +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.70283.1783000768114256266 for ; Thu, 02 Jul 2026 06:59:28 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=cd1T+Ejj; 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 616CC4E40C3B for ; Thu, 2 Jul 2026 13:59:26 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 301205FF03 for ; Thu, 2 Jul 2026 13:59:26 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 89BA4104C958B; Thu, 2 Jul 2026 15:59:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1783000765; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=+ObhNfBpQcr55Qbt5/ZfTdwsAEcXjT6uuJqVNOPk3g8=; b=cd1T+EjjUQKj6x29TdtdThynCjO3jX7HAOc1ECyJOyYN0CZlzHD0NTQW6KIvDeSArLVNfa 6iF3CSRgRD+9ZbqKE5r+c3CDhQY5ickpTT2nDyO0ht3W08NROmigZ7xLB2c7dF7nFvh1VC mw5HX57Fa6tQEzNcaA5IAya8iU5SvNwAYAVSGlfsj0AThsYtYXL0qt17zOkJTGwda5smG9 uRA7cogjPemm++vY8i6DnlOUMVUa9n42PnZqfi747VlLWDpvV4rSHF4tWOTyXq/VGzT9Ms SBwaURbNlxRr0AyT9ZEhVef4Lqs/ua179cNlYwnz4C07tQCUsLuIQa03HaH4Eg== From: Antonin Godard Date: Thu, 02 Jul 2026 15:59:12 +0200 Subject: [PATCH 3/3] Add a pre-commit hook to check the glossaries MIME-Version: 1.0 Message-Id: <20260702-pre-commit-v1-3-0ebd211b5d5e@bootlin.com> References: <20260702-pre-commit-v1-0-0ebd211b5d5e@bootlin.com> In-Reply-To: <20260702-pre-commit-v1-0-0ebd211b5d5e@bootlin.com> To: docs@lists.yoctoproject.org Cc: Thomas Petazzoni , Antonin Godard X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1690; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=UPRiS9QKnBm8CQDvZi0hnpFzBLfxHTx8qSRqK0IKo/I=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBqRm67xno96ZARyd8CvRzx6IylCvph4PokSMqaf RDl8nYiYECJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCakZuuwAKCRDRgEFAKaOo NihiD/9OaQ/un1UPm5JMbAuJ2bvWLwb8B9ERNni2RWXkMJlOwKgOPytdB7quzpyv1efc4FPu1a7 cNNXRspq7/ipPQTiO/BSnLvpzyVWKdXm3whT+vFhmN9ALjAgqYeSBYsTRHUQgOTCsoKQoXFMNll dHiapLiubNblb7eUV6W3yQntIyq2Jn+ExdX8uGWiR+SYeg0x/Lhra5VcISF+tv8wpAU+mGUNS6T WwgWsHgeqSMP95O47bM63hHesGYi8Bj0C1CKmv5BOsoE4Ibl+DHp4btctA/85AXNgZc+oXXf9Qv pmq4Zg7dAqQ3bz0xFRIizrVXvqljWKBXcbo/X6EqFWlOTNYC7pt/xZqYoTnrq5mYYiqN7LO+586 3of8hpOaNiAzZpfB+sMsbpK4vbiMzIlp2mmjYmmiJyaSPWQKqnP9ymNmBd3GJHsiG2/zrhTPNkN WJuEO7TIXn2HCzSnqSPqUvHjHo0DqcXEm3CcgPD2pnIjLGIdSKrHQnz93Zf0dcjWxLhF3IrYXgp gl8n9GKrDx/Labu3b2JDv5khsywkqKla5cznh9YxtvUcbFHMowkbbC6stvSzQSyPtIK5Vm3xB29 wOgRxsIxfIhIJUxDp/2Gt+Uzvv6s/SvFFkSezWx3hVV+9V7/P4dFWfwSpridgL24TITu5hvaHhk YW6FECutU3lWM5w== 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, 02 Jul 2026 13:59:35 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/10003 It is easy to badly order the glossaries or forget to update the list at the beginning of the variables.rst file. Add a pre-commit hook that does it for us, and update the README to mention to enable it. Signed-off-by: Antonin Godard --- .pre-commit-config.yaml | 8 ++++++++ documentation/README | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 000000000..f2b73a481 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,8 @@ +repos: + - repo: local + hooks: + - id: check-glossaries + name: Check glossaries alphabetical order + entry: ./documentation/tools/check-glossaries + language: python + pass_filenames: false diff --git a/documentation/README b/documentation/README index 7c4472c73..326930932 100644 --- a/documentation/README +++ b/documentation/README @@ -89,6 +89,16 @@ generated with DocBook. How to build the Yocto Project documentation ============================================ +If possible, install pre-commit hooks to make sure you did not miss any +updates that are run automatically: + + $ pre-commit install + +The pre-commit project can be installed on your host using your package manager, +usually under the name "pre-commit", e.g.: + + $ sudo apt-get install pre-commit + To build the documentation, you need Sphinx and a few other packages, which depend on your host GNU/Linux distribution. Such packages are listed on https://docs.yoctoproject.org/dev/ref-manual/system-requirements.html#required-packages-for-the-build-host