[PATCH 0/3] Convert get_feat to Python

Mauro Carvalho Chehab posted 3 patches 2 months, 3 weeks ago
There is a newer version of this series
Documentation/sphinx/kernel_feat.py |  24 +-
tools/docs/get_feat.pl              | 641 ----------------------------
tools/docs/get_feat.py              | 225 ++++++++++
/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/docs/lib/parse_features.py
[PATCH 0/3] Convert get_feat to Python
Posted by Mauro Carvalho Chehab 2 months, 3 weeks ago
Hi Jon,

That's the final series to complete the migration of documentation
build: it converts get_feat from Perl to Python.

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 ++++++++++
 /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/docs/lib/parse_features.py

-- 
2.51.1
Re: [PATCH 0/3] Convert get_feat to Python
Posted by Jonathan Corbet 2 months, 3 weeks ago
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> writes:

> Hi Jon,
>
> That's the final series to complete the migration of documentation
> build: it converts get_feat from Perl to Python.
>
> With that, no Sphinx in-kernel extensions use fork anymore to call
> ancillary scripts: everything is now importing Python methods
> directly from the libraries.

This, of course, conflicts with my library move ...  Maybe we review
that and I go first this time? :)

jon
Re: [PATCH 0/3] Convert get_feat to Python
Posted by Mauro Carvalho Chehab 2 months, 3 weeks ago
Em Tue, 11 Nov 2025 10:09:30 -0700
Jonathan Corbet <corbet@lwn.net> escreveu:

> Mauro Carvalho Chehab <mchehab+huawei@kernel.org> writes:
> 
> > Hi Jon,
> >
> > That's the final series to complete the migration of documentation
> > build: it converts get_feat from Perl to Python.
> >
> > With that, no Sphinx in-kernel extensions use fork anymore to call
> > ancillary scripts: everything is now importing Python methods
> > directly from the libraries.  
> 
> This, of course, conflicts with my library move ...  Maybe we review
> that and I go first this time? :)

Sure, go ahead with the library move, while this is reviewed. 

This one is trivial enough to be rebased on the top of it.

Thanks,
Mauro
Re: [PATCH 0/3] Convert get_feat to Python
Posted by Jonathan Corbet 2 months, 2 weeks ago
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> writes:

> Em Tue, 11 Nov 2025 10:09:30 -0700
> Jonathan Corbet <corbet@lwn.net> escreveu:
>
>> Mauro Carvalho Chehab <mchehab+huawei@kernel.org> writes:
>> 
>> > Hi Jon,
>> >
>> > That's the final series to complete the migration of documentation
>> > build: it converts get_feat from Perl to Python.
>> >
>> > With that, no Sphinx in-kernel extensions use fork anymore to call
>> > ancillary scripts: everything is now importing Python methods
>> > directly from the libraries.  
>> 
>> This, of course, conflicts with my library move ...  Maybe we review
>> that and I go first this time? :)
>
> Sure, go ahead with the library move, while this is reviewed. 
>
> This one is trivial enough to be rebased on the top of it.

That time has come ... we should still be able to get this one into 6.19
if all goes well.

Thanks,

jon
Re: [PATCH 0/3] Convert get_feat to Python
Posted by Mauro Carvalho Chehab 2 months, 2 weeks ago
Em Tue, 18 Nov 2025 09:44:45 -0700
Jonathan Corbet <corbet@lwn.net> escreveu:

> Mauro Carvalho Chehab <mchehab+huawei@kernel.org> writes:
> 
> > Em Tue, 11 Nov 2025 10:09:30 -0700
> > Jonathan Corbet <corbet@lwn.net> escreveu:
> >  
> >> Mauro Carvalho Chehab <mchehab+huawei@kernel.org> writes:
> >>   
> >> > Hi Jon,
> >> >
> >> > That's the final series to complete the migration of documentation
> >> > build: it converts get_feat from Perl to Python.
> >> >
> >> > With that, no Sphinx in-kernel extensions use fork anymore to call
> >> > ancillary scripts: everything is now importing Python methods
> >> > directly from the libraries.    
> >> 
> >> This, of course, conflicts with my library move ...  Maybe we review
> >> that and I go first this time? :)  
> >
> > Sure, go ahead with the library move, while this is reviewed. 
> >
> > This one is trivial enough to be rebased on the top of it.  
> 
> That time has come ... we should still be able to get this one into 6.19
> if all goes well.

OK.

Just sent a rebased version on the top of current docs-next.

Thanks,
Mauro