pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Python 3.7 end-of-life



David Brownlee <abs%absd.org@localhost> writes:

> On Thu, 29 Jun 2023 at 10:36, Adam <adam%netbsd.org@localhost> wrote:
>>
>> Python 3.7 has reached its end-of-life. I would like to remove it as
>> soon as possible. Pkgsrc doesn't really support Python 3.7 for some
>> time now, and more and more Python modules are dropping 3.7 support,
>> so I think it's time to get rid of it. Objections?
>
> I know 3.7 ws supposed to be a helpful staging point for migrating
> from 2.7. Is there any sense in retaining just the vestigial python37
> package but dropping it from the general module support?

Already, python37 has been dropped from the default value of
PYTHON_VERSIONS_ACCEPTED, because so many packages were failing to build
with 37, and the resulting stream of additions of 37 to INCOMPATIBLE,
but without proper recursive additions, were causing bulk build
troubles.  However, it has been easy for those that want to build with
37 to add it back locally, as I understand it.

    # PYTHON_VERSIONS_ACCEPTED
    #       The Python versions that are acceptable for the package. The
    #       order of the entries matters, since earlier entries are
    #       preferred over later ones.
    #
    #       Possible values: 311 310 39 38 37 27
    #       Default: 311 310 39 38 27

In 2023Q1 (a default build of course), there are only two packages:

  py37-html-docs-3.7.15.tgz
  python37-3.7.15.tgz

For removing packages, we have a couple of different norms:

  1) We remove things that are long-unmaintained upstream when we believe
  there are no users.

  2) For upstreams where we package every (breaking) version separately,
  we have been pruning them when they hit formal EOL.  Besides python,
  an example is postgresql.

  3) We remove packages when the pain of having the package continue in
  pkgsrc is more than the benefit to users.  This is relatively rare,
  and tends to be about packages that depend on long-unmaintained tools
  that are themselves problematic.

Until 37, we had coupled dropping from the default
PYTHON_VERSIONS_ACCEPTED and removing the package entirely.  I would not
be surprised if we start seeing build problems with 38 soon.  On the
other hand 38 and 310 have almost the same number of packages now, while
in 202Q3 66 packages were missing in 37, so perhaps 37 is special in
being left behind by upstreams.)

In general, I see point 2 as having been a blend of (1) and (3) in
practice.  With e.g. postgresql, typically people upgrade before the
version they are running hits EOL, so removing EOL versions doesn't
cause significant problems.  With python 37 being removed from the
default ACCEPTED, the maintenance pain has been almost entirely removed.
(Taylor did not complain about it as part of the cross-building rampage!
But seriously, I think that's the only attributable effort.)

For 37, I think removal amounts to two packages, and then a mechanical
edit to remove 37 from INCOMPATIBLE and ACCEPTED.  I don't have any
reason to think their continued presence is causing problems.  It may be
that there zero actual people care about it staying, in which tidyness
is a non-zero benefit.

I am thus curious about:

  Is the continued presence of python37 and py37-html-docs causing
  problems?

  Does anybody care if python37 is removed?


Home | Main Index | Thread Index | Old Index