On Fri, 10 May 2024 at 13:09, Jani Nikula <jani.nikula@xxxxxxxxx> wrote: > > On Fri, 10 May 2024, Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> wrote: > > Em Fri, 10 May 2024 11:08:38 +0300 > > Jani Nikula <jani.nikula@xxxxxxxxx> escreveu: > > > >> On Thu, 09 May 2024, Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> wrote: > >> > The drm/msm driver had adopted using Python3 script to generate register > >> > header files instead of shipping pre-generated header files. Document > >> > the minimal Python version supported by the script. > >> > > >> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > >> > --- > >> > Documentation/process/changes.rst | 1 + > >> > 1 file changed, 1 insertion(+) > >> > > >> > diff --git a/Documentation/process/changes.rst b/Documentation/process/changes.rst > >> > index 5685d7bfe4d0..8d225a9f65a2 100644 > >> > --- a/Documentation/process/changes.rst > >> > +++ b/Documentation/process/changes.rst > >> > @@ -63,6 +63,7 @@ cpio any cpio --version > >> > GNU tar 1.28 tar --version > >> > gtags (optional) 6.6.5 gtags --version > >> > mkimage (optional) 2017.01 mkimage --version > >> > +Python (optional) 3.5.x python3 --version > >> > >> Python 3.5 reached end-of-life 3½ years ago [1]. What's the point in > >> using anything older than the oldest supported version of Python, > >> i.e. 3.8 at this time? > > > > What's the point of breaking compilation with on older distros? > > The idea of minimal versions here is to specify the absolute minimum > > version that it is required for the build to happen. If 3.5 is > > the minimal one, then be it. > > AFAICT 3.5 was an arbitrary rather than a deliberate choice. We should > at least be aware *why* we'd be sticking to old versions. >From my side, the 3.5 was chosen basing on the previous feedback from Jon Hunter: https://lore.kernel.org/dri-devel/20240412165407.42163-1-jonathanh@xxxxxxxxxx/ After checking distros that I can easily use, I don't think I will be able to test the script with Python versions earlier than 3.7.3 (Debian oldoldstable). I can try setting up Debian stretch (old-old-old-stable), which has Python 3.5 and so cover the needs of Jon. > > Minimum versions here also means sticking to features available in said > versions, for Python just as well as for GCC or any other tool. That's > not zero cost. > > I guess there are two angles here too. The absolute minimum version > currently required, and the, uh, maximum the minimum version can be > safely bumped to. Say, you want to use a feature not available in the > current minimum, how far up can you bump the version to? > > Could we define and document the criteria (e.g. based on distros as you > suggest below) so we don't have to repeat the discussion? > > > BR, > Jani. > > > > > - > > > > Now, a criteria is needed to raise the minimal version. IMO, the > > minimal version shall be at least the minimal one present on most > > used LTS distros that are not EOL. > > > > I would look for at least 4 such distros: > > > > - Debian > > > > Looking at https://wiki.debian.org/LTS, Debian 10 EOL will be on > > June, 2024. > > > > Looking at: > > > > https://distrowatch.com/table.php?distribution=debian > > > > Debian 10 uses python 3.7.3. > > > > - Looking at Distrowatch for openSUSE Leap 15.5, it uses Python > > 3.6.15 and has an EOL schedule for Dec, 2024. > > > > - RHEL 8.9 uses a bigger version than those two - 3.11.5 - again > > looking at Distrowatch to check it. > > > > - SLES 15 SP4 and above uses Python 3.11, according with: > > https://www.suse.com/c/python-3-11-stack-for-suse-linux-enterprise-15/ > > > > From the above, IMO kernel shall support building with Python 3.6 > > at least until the end of this year. > > > > Regards, > > Mauro > > -- > Jani Nikula, Intel -- With best wishes Dmitry