Re: [RFC 1/6] scripts/get_abi.py: make it backward-compatible with Python 3.6

Akira Yokosawa
2025-02-05T02:37:59Z

Hi,

Jonathan Corbet wrote:
> Mauro Carvalho Chehab <mchehab+huawei@kernel.org> writes:
>
>> Despite being introduced on Python 3.6, the original implementation
>> was too limited: it doesn't accept anything but the argument.
>
> The original implementation *of f-strings* ?
>
>> Even on python 3.10.12, support was still limited, as more complex
>> operations cause SyntaxError:
>>
>> Exception occurred:
>> File ".../linux/Documentation/sphinx/kernel_abi.py", line 48, in <module>
>> from get_abi import AbiParser
>> File ".../linux/scripts/get_abi.py", line 525
>> msg += f"{part}\n{"-" * len(part)}\n\n"
>> ^
>> SyntaxError: f-string: expecting '}'
>>
>> Replace f-strings by normal string concatenation when it doesn't
>> work on Python 3.6.
>>
>> Reported-by: Akira Yokosawa <akiyks@gmail.com>

You might want to add

Closes: https://lore.kernel.org/2d4d3fd1-5fe2-4d18-9085-73f9ff930c2d@gmail.com/

>> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
>
> So I'm curious ... later in the series, you make 3.9 the minimal version
> for the kernel. Given that, is there value in adding compatibility for
> older versions here?

I think rewording the summary to

"scripts/get_abi.py: make it backward-compatible with Python <3.11"

would resolve Jon's confusion.

I haven't looked into python3'changelog, but it might be
"... backward-compatible with Python <3.12".
Mauro, which python3 release extended the f-string implementation?

Thanks, Akira