From patchwork Fri Jul 3 11:31:24 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 91653 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 9E39EC44501 for ; Fri, 3 Jul 2026 11:35:20 +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.91296.1783078513021659357 for ; Fri, 03 Jul 2026 04:35:14 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=jMBX9hqm; 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 149A7C49F4B for ; Fri, 3 Jul 2026 11:35:23 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 4E68C60300 for ; Fri, 3 Jul 2026 11:35:11 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 58B55104C958E; Fri, 3 Jul 2026 13:35:10 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1783078510; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=dcaENyUF3pivt1gmWP6eKmQOUYGoCfy3J3FGjBt472o=; b=jMBX9hqmlsPDh4EnHRRdCM73Zg8p82jXPwE8pdi8U/AHhrCd5VvZYfCnRYckqbeBYPxseH 0gd/oyZkaE7TmE+MN2myUVtdHlzBxnKC20qm1CRvdP0rpSb7Mv/4kSXalikG9BCNL8zNth 9uEnL93nowp1MkZSjBkAGNN4fgRUFV8+hSKP3DVIu5hjHo3QQ6+4xjEJhxHbkwdEoiUptV EB7oYZnNuhO7YMixaNdpj9ikvACwZ179slxXCWm3sNL9D3t/Wly0yP8trKuSjEHBFPSY/k UHo+muaJdtDIU3gNkKqCmiwNIdcDjGWkRjJNCWyz55KFu/yNtdA+RP5coWwa5A== From: Antonin Godard Date: Fri, 03 Jul 2026 13:31:24 +0200 Subject: [PATCH v2 1/3] tools/check-glossaries: return 1 in case of failure MIME-Version: 1.0 Message-Id: <20260703-pre-commit-v2-1-a9a391299c28@bootlin.com> References: <20260703-pre-commit-v2-0-a9a391299c28@bootlin.com> In-Reply-To: <20260703-pre-commit-v2-0-a9a391299c28@bootlin.com> To: docs@lists.yoctoproject.org Cc: Thomas Petazzoni X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1730; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=cv1k31EOHlqOhqa+0eOZTnogp1sflX53BHRVYheT0Is=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBqR55tNgiAY7ih7hPVK0caKdsCiFuay1EuW+Fl2 GGgTz8DE3CJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCakeebQAKCRDRgEFAKaOo NmzpD/4vGQ+EdYE3pmCa+9JT2L4fQm2yu/aH6kBDl6kQMaeWRoZbxJ78Cl6LvKX1fYmzZLJoyLZ Cl78ruVezmvxbpZc9kMn6JRgwhQoLd48iWMMgr0kI0uabfLTGSPFzFvaIeBLqz6qskk04NHcjF9 U+5Gh9Ko7ogNUuKFCVRe9FatUzd1VGAcQqqNiC+qUTVdF4EzG5jVju4+9xUXr+wWs8e/XBHlZ9H 7L/aRcxq898EB5BRcTKhRuMKGmte5EhVfC22OwspbnpqKHFZV0km2crx4FTo2ZkeQCRUDgGrtMR fiWjY54tQd2pD02xcJu2hobW7gS9SIqVVjV87rH057EQFvEGSLLgJTpw8ZMj3inrt8NZkeEX5cQ TV3Y5md6M91d1FTxZQqHeUjhkGydjf2HM8RfKhWYFCu4DLvLgskb0/cQoMninin4R1GzAzZPstP LU2fW98sD3Av40Ce+QhCbL8pykaP22godrqWQJW94icfzMcB+Ztrda5mo/Nsj0FHCD74ak8W0Ac VKjpsKaepQ5cZAjwZIBP/lihIsotRfYyKFSi6UjPmYTXsI3Wf1DMPr01QkyiqErOcZV60Zc6GRO W7vHN6pLcGtTKwvpijFmJC58fhkjGUfkz1OUODNVE3rG6dhyTyg1hha7bzwRpajXWOwMKYpQIhH MUrs5Ef3vWY7UyA== 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, 03 Jul 2026 11:35:20 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/10016 Exit with 1 in case there's an issue with the glossaries. This will be used for pre-commit support. Reviewed-by: Quentin Schulz 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 Fri Jul 3 11:31:25 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 91652 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 8382BC44500 for ; Fri, 3 Jul 2026 11:35:20 +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.91297.1783078513543064635 for ; Fri, 03 Jul 2026 04:35:14 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=17BUO6/q; 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 975DFC49F4C for ; Fri, 3 Jul 2026 11:35:23 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id D14A660300 for ; Fri, 3 Jul 2026 11:35:11 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 390A7104C95A2; Fri, 3 Jul 2026 13:35:11 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1783078511; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=eXa1Oe9ILSEXPUFCtsen8mtNmzCJkNXBNcvEKRqw8jA=; b=17BUO6/q/vY7H7LrBhZBVpxhRfLZ+c5H/7ujAsQmYDgW3Pm5hTToUS2nvBC3Foh8jmu9SP WwUtmnPqZU3IKQSvtQ8GGFaPlioQBN5eiD708CfmU+8JbYVfDdSqrb/jqdOiHlLAaYFY6t HZ+FlqqFlb0nLkOcqqdX6WI8HI4UwIhFIoz/l6BH0Gwb8C6YFy2hIa3WbWkon0mhVjlbBe 6CxiOVZ+piX6J80mEvWJeI7Pi78crUynMMshsurrBkvF/ibyisn+XEWK9C+T13SVGnpiQr NQt1tBM1NogQWZCdlPtyuqH4Fap4T9qknKNHTldmhgNZmaIesA6nbZOqe+fSCg== From: Antonin Godard Date: Fri, 03 Jul 2026 13:31:25 +0200 Subject: [PATCH v2 2/3] tools/check-glossaries: fix default doc path MIME-Version: 1.0 Message-Id: <20260703-pre-commit-v2-2-a9a391299c28@bootlin.com> References: <20260703-pre-commit-v2-0-a9a391299c28@bootlin.com> In-Reply-To: <20260703-pre-commit-v2-0-a9a391299c28@bootlin.com> To: docs@lists.yoctoproject.org Cc: Thomas Petazzoni X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1000; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=cLslkTKNLl/k1ulyZbiXM9y4v2rUHWbc7IJc7K3Rluk=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBqR55tmeUAhNXzPSYowMBg0FMU+5okFSx4ICeQL WZBZqIAj2GJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCakeebQAKCRDRgEFAKaOo NrmJD/4o+Zdsy3/HPvVJDMtovT6SsOtBpR2HSbVw0zYFk6tubaYzjt+AcG3qUKwROQ936mJ9vy5 OrqBGjVp1HKemkRE2x30Y4M4xlMHBt9qRz+QNiYOIprSc7DPNgE6gOA5K6UcSz0Qz/J3bCoegKt 4Y5UI9BVWIl2LfcO0yQbiwjqbQ5eIFcUIwYU2pdR731npLjMwE1jf21NFrBPnZKA2czQwq1nvtC uztEFVZ6lRxMgpwoa1m+zhPsTaPRlXjBp5UrwdxRe3QaKDbGmnuU90lMNtNI2evJBN3KswGhgOU jx5kEnGR20yUphW0BTT7Ajnq0W/6RmTIf+6XkoMZJ+S8Qr4IYdFkpRZYwqEK+L1eo83Qj1pb0F/ 9vpfQsOOLNg7OU/Iei6WfXctu+VnnFIE2DbVoByaw8PLiR3i+XOB1WQHsHKMdQ2aaWsGJpWXQAP iK7celrLs6eJzUAptKFL3Exy3gmgsSAwFDvhDS7tbMdXt5kAGSko3kaUbF1eWa9mwl42BHlVtBi J7OKa2o2gPvTtaxE46CUNdt/K869n1O/E7MFceqKmCoaldavX+BARGO8HqVRa0GQczTrO8R8ymz lZGxZF9Ny4KPVoQ8/gTpAAhkB1I0o0bvGDOQpgOqUDNdaFYKF2io/zspdlumn2GvTZlaSzantXr C10a4toV0SXhK8A== 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, 03 Jul 2026 11:35:20 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/10015 This default path pointing to the documentation was wrong, fix it. Signed-off-by: Antonin Godard Reviewed-by: Quentin Schulz --- documentation/tools/check-glossaries | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/documentation/tools/check-glossaries b/documentation/tools/check-glossaries index 9f1a47126..da4987ff3 100755 --- a/documentation/tools/check-glossaries +++ b/documentation/tools/check-glossaries @@ -2,7 +2,6 @@ import argparse import difflib -import os import re import sys @@ -14,7 +13,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(__file__).resolve().parent.parent, help="Path to documentation/ directory in yocto-docs") return parser.parse_args() From patchwork Fri Jul 3 11:31:26 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 91651 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 5B2FDC43602 for ; Fri, 3 Jul 2026 11:35:20 +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.90486.1783078514289108008 for ; Fri, 03 Jul 2026 04:35:14 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=CrSr6s5G; 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 5781FC49F56 for ; Fri, 3 Jul 2026 11:35:24 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 8FF9460300 for ; Fri, 3 Jul 2026 11:35:12 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id BB514104C95A5; Fri, 3 Jul 2026 13:35:11 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1783078512; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=kg9Rfngcw3Zg5CK3yPxmhEUHsppcmos5VCjExI2dKpQ=; b=CrSr6s5G7Yc11A4vtaA+a98IsEwKWCq6ViLv4Eh8aOBVK91P1O0+Hzt6RLmvq/rQ+0I1PG HyvfyL3xqcMnNLidWB9C9otj+N+q5BobVwH5ob+MlNm6gY2D61ILQvfzIUrxX/WY09OlqV L8E0r+2OclbQ8Vf+KNotnW/kKOhuh1wO1eCh6qzgpJR2o+mzwOC7u2QLeIiw785CSkdlBi rHahhhr+tls6eXCVjhsaJK4pArWFFDDwm4XYwaNrJC9gC5ofmiVpMNrCWZNPxNv2tUXWq0 Qji1L0mlmM3PG//MX4yovgt3E4PZNWd35679ZM1nieNw9HljF1xhupbobrC9HA== From: Antonin Godard Date: Fri, 03 Jul 2026 13:31:26 +0200 Subject: [PATCH v2 3/3] Add a pre-commit hook to check the glossaries MIME-Version: 1.0 Message-Id: <20260703-pre-commit-v2-3-a9a391299c28@bootlin.com> References: <20260703-pre-commit-v2-0-a9a391299c28@bootlin.com> In-Reply-To: <20260703-pre-commit-v2-0-a9a391299c28@bootlin.com> To: docs@lists.yoctoproject.org Cc: Thomas Petazzoni X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1800; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=gez5RWOk281Ue/x5ps+DoRbAN2Aa3hdHdUUqCLKNsBI=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBqR55tK/dWGMJK943tFHsE7X9Vq+kGLfb1nSlsQ xelLWxJbfGJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCakeebQAKCRDRgEFAKaOo No7bD/43+QYFKHOZ6EZ7Fo2GSa/mQjzvToMfvZmiaHeZyt4d/QzIAD8VNUOWqHSEdd37O6kY+3G Gi/lD7C8HwVmTykmLTAolTnKfuebvIbJH/laj7tjlbdd5duu2zrtz9wWfU7GHh/hxHsKxSDAfYH nmdbBHEZTr8LatfePNz2tMZAXbXK843+BTPseqZ1r1Pabi6r/n3p+g48eNkfMOzntLJGK5HJIK9 i1ZzpbH6EESxVMtqQWtonst7lX7aTTxq/KfH1x6HWYirvDEPewAZ/AK4rNGMpD2WxoQr1jrf+n6 26N2cH6mKBh4JjKuX6RRjF8dGWUjefK5uLwX+Rca/2WYJA6yoHFPZSM7JYQyMGRJrPDg/WRkBl6 YumH+F4lVfljucjZFFqU3KRlf71SDrYB+Uoch6VfxYGpeuTwDdEVNqHtbY2vTGrOUK+QridCZCT NAiAe5BQnuzW24j7wr37OpXgt63FjrksOYVeXS5nZjCb2tfDmOeb+Gtbb+QmNEGgZGN7jfa9MNC DVN24pJQAeCAhgzz4pa9dFRPQDoF5GfnLjlOYIz8VXuodXAUa/B62Wq4jLi1KQIpeO+07VAZqqH tRE2pvJx2P8T8S0Z++iCYj+NWVadpKLQBS4L0csK7TxOXBrORVqd+JnIN61f0r6wqehrqM1hNNh dKy3Sqc0B+YRVUw== 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, 03 Jul 2026 11:35:20 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/10017 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. Tested-by: Quentin Schulz Reviewed-by: Quentin Schulz 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