* 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®