From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: "Jonathan Corbet" <corbet@lwn.net>,
Linux Doc Mailing List <linux-doc@vger.kernel.org>
Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
linux-kernel@vger.kernel.org
Subject: [PATCH v2 0/3] Convert get_feat to Python
Date: Tue, 18 Nov 2025 20:09:25 +0100 [thread overview]
Message-ID: <cover.1763492868.git.mchehab+huawei@kernel.org> (raw)
Hi Jon,
That's the final series to complete the migration of documentation
build: it converts get_feat from Perl to Python.
V2 is technically identical to v1: the only difference is that it
now uses tools/lib/python/feat to store the library logic.
With that, no Sphinx in-kernel extensions use fork anymore to call
ancillary scripts: everything is now importing Python methods
directly from the libraries.
As we don't have a definition yet for the location of the Python
libraries yet, I opted to place the parse features library inside
tools/docs/lib. It shouldn't be hard to move it elsewhere once we
define a better place for them.
There's nothing special on this conversion: it is a direct translation,
almost bug-compatible with the original version (*).
(*) I did solve two or three caveats on patch 1.
Most of the complexity of the script relies at the logic to produce
ReST tables. I do have here on my internal scripts a (somewhat) generic
formatter for ReST tables in Python. I was tempted to convert the logic
to use it, but, as this could cause regressions, I opted to not do it
right now, mainly because the matrix table logic is complex. Also,
I'm tempted to modify a little bit the output there, but extra tests
are required to see if PDF output would work with complex tables (I
remember I had a problem with that in the past). So, I'm postponing
such extra cleanup.
Mauro Carvalho Chehab (3):
tools/docs/get_feat.py: convert get_feat.pl to Python
Documentation/sphinx/kernel_feat.py: use class directly
get_feat.pl: remove it, as it got replaced by get_feat.py
Documentation/sphinx/kernel_feat.py | 24 +-
tools/docs/get_feat.pl | 641 ------------------------
tools/docs/get_feat.py | 225 +++++++++
tools/lib/python/feat/parse_features.py | 494 ++++++++++++++++++
4 files changed, 732 insertions(+), 652 deletions(-)
delete mode 100755 tools/docs/get_feat.pl
create mode 100755 tools/docs/get_feat.py
create mode 100755 tools/lib/python/feat/parse_features.py
--
2.51.1
next reply other threads:[~2025-11-18 19:09 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-18 19:09 Mauro Carvalho Chehab [this message]
2025-11-18 19:09 ` [PATCH v2 1/3] tools/docs/get_feat.py: convert get_feat.pl to Python Mauro Carvalho Chehab
2025-11-18 19:09 ` [PATCH v2 2/3] Documentation/sphinx/kernel_feat.py: use class directly Mauro Carvalho Chehab
2025-11-18 19:09 ` [PATCH v2 3/3] get_feat.pl: remove it, as it got replaced by get_feat.py Mauro Carvalho Chehab
2025-11-21 17:46 ` [PATCH v2 0/3] Convert get_feat to Python Jonathan Corbet
2025-11-21 21:27 ` Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1763492868.git.mchehab+huawei@kernel.org \
--to=mchehab+huawei@kernel.org \
--cc=corbet@lwn.net \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).