* Re: [RFC PATCH 0/7] scripts: convert remaining Perl utilities in scripts/
[not found] <20261019100505.3199861A74+hca@linux.ibm.com>
@ 2026-10-19 13:34 ` Breno Rodrigues Alves
2026-10-19 14:29 ` Jonathan Corbet
0 siblings, 1 reply; 4+ messages in thread
From: Breno Rodrigues Alves @ 2026-10-19 13:34 UTC (permalink / raw)
To: Heiko Carstens
Cc: linux-kernel, Jonathan Corbet, Andy Whitcroft, Joe Perches,
Dwaipayan Ray, Lukas Bulwahn
Hi Heiko,
> That is an odd reason - if I'm not wrong then you have zero upstream
> commits, and now are proposing fundamental changes to tools maintained
> and used by others? I guess this is 100% LLM work(?).
You are right to suspect that I used an LLM as an aid for this series.
As required by the kernel policy, I will include an Assisted-by: tag in
every commit to make this fully transparent.
Regarding my lack of upstream history: that is true, I am a new
contributor. However, I fully understand the code I am submitting. The
LLM was used to speed up the mechanical translation, but I reviewed every
line, checked the logic, and tested the scripts' behavior to ensure 1:1
parity. I am aware that final responsibility for the code is mine.
> So an important part of describing any change is *why* you are doing it.
> Why are you doing all of these conversions? Some of these scripts have
> not seen changes in decades and are likely unused; why do we want to
> mess with them now?
I would like to clarify the motivation behind the conversion, because I
do not think I presented it convincingly in the cover letter. The goal
is not simply to "remove Perl", but to reduce the long-term maintenance
burden.
The kernel already has a clear track record of migrating critical
tooling to Python (e.g. get_maintainer and checkpatch). Keeping a
residual set of Perl scripts forces maintainers and contributors to deal
with two environments and two sets of idioms for the same class of
tasks. Unifying that code base in Python simplifies review, testing, and
future contributions. Even scripts that have not changed in decades are
still part of the tooling ecosystem and may be used by developers;
removing them from the Perl equation is a consistency gain.
To reduce the risk and demonstrate my commitment, I would like to
propose a different path: can we start with a single script? I could
prepare a patch focused only on checkstack.pl (or another script you
consider a priority), with a detailed justification and a test plan, so
you can evaluate the process and quality before we consider the rest of
the series.
I am happy to adjust the approach in whatever way is most productive for
you and the community.
Best regards,
Breno
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RFC PATCH 0/7] scripts: convert remaining Perl utilities in scripts/
2026-10-19 13:34 ` [RFC PATCH 0/7] scripts: convert remaining Perl utilities in scripts/ Breno Rodrigues Alves
@ 2026-10-19 14:29 ` Jonathan Corbet
2026-10-19 15:39 ` Breno Rodrigues Alves
0 siblings, 1 reply; 4+ messages in thread
From: Jonathan Corbet @ 2026-10-19 14:29 UTC (permalink / raw)
To: Breno Rodrigues Alves, Heiko Carstens
Cc: linux-kernel, Andy Whitcroft, Joe Perches, Dwaipayan Ray, Lukas Bulwahn
Breno Rodrigues Alves <breno3011alves@gmail.com> writes:
> Hi Heiko,
>
>> That is an odd reason - if I'm not wrong then you have zero upstream
>> commits, and now are proposing fundamental changes to tools maintained
>> and used by others? I guess this is 100% LLM work(?).
>
> You are right to suspect that I used an LLM as an aid for this series.
> As required by the kernel policy, I will include an Assisted-by: tag in
> every commit to make this fully transparent.
The tag is no longer required, but openness about how you did this work
is.
> Regarding my lack of upstream history: that is true, I am a new
> contributor. However, I fully understand the code I am submitting. The
> LLM was used to speed up the mechanical translation, but I reviewed every
> line, checked the logic, and tested the scripts' behavior to ensure 1:1
> parity. I am aware that final responsibility for the code is mine.
>
>> So an important part of describing any change is *why* you are doing it.
>> Why are you doing all of these conversions? Some of these scripts have
>> not seen changes in decades and are likely unused; why do we want to
>> mess with them now?
>
> I would like to clarify the motivation behind the conversion, because I
> do not think I presented it convincingly in the cover letter. The goal
> is not simply to "remove Perl", but to reduce the long-term maintenance
> burden.
What is the maintenance burden of scripts that have not been touched in
decades and, perhaps, are not used at all?
To the extent that these scripts *are* maintained, they have maintainers
who understand them; that may no longer be the case after you replace
them. Who will maintain them going forward? You can surely understand
that there might be some reluctance to entrust that role to a new
contributor with no track record.
> The kernel already has a clear track record of migrating critical
> tooling to Python (e.g. get_maintainer and checkpatch).
Huh? You are *trying* to convert those scripts, that certainly has not
been done. The current maintainer of checkpatch, I believe, was not
enthusiastic about your proposed change.
> Keeping a
> residual set of Perl scripts forces maintainers and contributors to deal
> with two environments and two sets of idioms for the same class of
> tasks. Unifying that code base in Python simplifies review, testing, and
> future contributions. Even scripts that have not changed in decades are
> still part of the tooling ecosystem and may be used by developers;
> removing them from the Perl equation is a consistency gain.
People running them do not care what language they are written in.
> To reduce the risk and demonstrate my commitment, I would like to
> propose a different path: can we start with a single script? I could
> prepare a patch focused only on checkstack.pl (or another script you
> consider a priority), with a detailed justification and a test plan, so
> you can evaluate the process and quality before we consider the rest of
> the series.
You really need to justify such changes beyond "consistency"; the
existing scripts work and the ones that are in active use have at least
some sort of maintenance that you are attempting to sweep aside.
If you want examples, look at the kerneldoc conversion. There was a
clear reason for that change (it has to integrate with Sphinx, which is
a Python application) and developers who spent several cycles working on
and evaluating the change. We knew what the maintenance picture would
be going forward.
This work looks more like change for its own sake.
Thanks,
jon
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RFC PATCH 0/7] scripts: convert remaining Perl utilities in scripts/
2026-10-19 14:29 ` Jonathan Corbet
@ 2026-10-19 15:39 ` Breno Rodrigues Alves
0 siblings, 0 replies; 4+ messages in thread
From: Breno Rodrigues Alves @ 2026-10-19 15:39 UTC (permalink / raw)
To: Jonathan Corbet
Cc: Heiko Carstens, linux-kernel, Andy Whitcroft, Joe Perches,
Dwaipayan Ray, Lukas Bulwahn
Hi Jon,
Thank you for the detailed and direct feedback. You are absolutely
right, and I appreciate you taking the time to correct my
misunderstandings.
Regarding get_maintainer and checkpatch: I was completely mistaken. I
conflated the ongoing discussions and RFC proposals with the existing
state of the kernel. I apologize for the inaccuracy.
Your point about the maintenance burden and the "consistency" argument
is very well taken. I see now that "consistency" is not a valid
technical justification if there are no active bugs or integration
requirements (like Sphinx for kerneldoc). As you noted, people running
the scripts do not care about the implementation language, and I do not
have the track record yet to offer myself as a replacement maintainer
for these tools.
I realize that my v2 patch for checkstack.py falls into the "change for
its own sake" category you described. Since the Perl script works and
has a stable maintenance status, submitting this patch was premature.
I will withdraw the checkstack patch. Please disregard the [PATCH v2]
sent earlier. I want to contribute meaningfully to the kernel, but
clearly, I need to focus on fixing actual bugs or making changes with a
clear, undeniable technical necessity.
Thank you again for the guidance. It is a lesson I will not forget.
Best regards,
Breno
^ permalink raw reply [flat|nested] 4+ messages in thread
* [RFC PATCH 0/7] scripts: convert remaining Perl utilities in scripts/
@ 2026-10-18 11:28 Breno Rodrigues Alves
0 siblings, 0 replies; 4+ messages in thread
From: Breno Rodrigues Alves @ 2026-10-18 11:28 UTC (permalink / raw)
To: linux-kernel
Cc: Andy Whitcroft, Joe Perches, Dwaipayan Ray, Lukas Bulwahn,
Breno Rodrigues Alves
This series converts the last seven Perl utilities in
scripts/ to Python 3. After this series, scripts/ contains
no Perl scripts left: all 17 utilities have been converted
(12 in the previous series, 7 more here).
Each conversion is a faithful 1:1 port: same CLI, same output,
same behavior. All use only the Python standard library.
The seven scripts are:
- checkstack.pl -> checkstack.py
- extract-module-sig.pl -> extract-module-sig.py
- extract-sys-certs.pl -> extract-sys-certs.py
- headerdep.pl -> headerdep.py
- kconfig-sym-check.pl -> kconfig-sym-check.py
- parse-maintainers.pl -> parse-maintainers.py
- streamline_config.pl -> streamline_config.py
Five of the seven were verified byte-for-byte identical to
their Perl counterparts. The remaining two (extract-sys-certs,
streamline_config) depend on build artifacts (vmlinux, .config)
and are 1:1 ports of the Perl logic.
Breno Rodrigues Alves (7):
scripts: convert checkstack.pl to Python
scripts: convert extract-module-sig.pl to Python
scripts: convert extract-sys-certs.pl to Python
scripts: convert headerdep.pl to Python
scripts: convert kconfig-sym-check.pl to Python
scripts: convert parse-maintainers.pl to Python
scripts: convert streamline_config.pl to Python
Breno Rodrigues Alves (7):
scripts: convert checkstack.pl to Python
scripts: convert extract-module-sig.pl to Python
scripts: convert extract-sys-certs.pl to Python
scripts: convert headerdep.pl to Python
scripts: convert kconfig-sym-check.pl to Python
scripts: convert parse-maintainers.pl to Python
scripts: convert streamline_config.pl to Python
scripts/checkstack.py | 143 ++++++++++
scripts/extract-module-sig.py | 103 ++++++++
scripts/extract-sys-certs.py | 132 ++++++++++
scripts/headerdep.py | 137 ++++++++++
scripts/kconfig-sym-check.py | 177 +++++++++++++
scripts/parse-maintainers.py | 136 ++++++++++
scripts/streamline_config.py | 475 ++++++++++++++++++++++++++++++++++
7 files changed, 1303 insertions(+)
create mode 100755 scripts/checkstack.py
create mode 100755 scripts/extract-module-sig.py
create mode 100755 scripts/extract-sys-certs.py
create mode 100755 scripts/headerdep.py
create mode 100755 scripts/kconfig-sym-check.py
create mode 100755 scripts/parse-maintainers.py
create mode 100755 scripts/streamline_config.py
--
2.43.0
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-10-19 15:39 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20261019100505.3199861A74+hca@linux.ibm.com>
2026-10-19 13:34 ` [RFC PATCH 0/7] scripts: convert remaining Perl utilities in scripts/ Breno Rodrigues Alves
2026-10-19 14:29 ` Jonathan Corbet
2026-10-19 15:39 ` Breno Rodrigues Alves
2026-10-18 11:28 Breno Rodrigues Alves
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®