Python - plan & execution

Yaakov Selkowitz yselkowitz@cygwin.com
Thu Apr 23 21:54:47 GMT 2020


On Fri, 2020-04-10 at 14:52 +0200, Marco Atzeri via Cygwin-apps wrote:
> Am 26.03.2020 um 08:19 schrieb Yaakov Selkowitz:
> > On Thu, 2020-03-26 at 06:54 +0100, Marco Atzeri via Cygwin-apps wrote:
> > > Am 20.03.2020 um 04:47 schrieb Yaakov Selkowitz:
> > I would suggest the following:
> > 
> > * python2-2.7.z continues to provide all '2' symlinks.
> > 
> > * python38 be updated to 3.8.2, and 3.8 be designated the next default
> > 'python3' version (with the '3' symlinks continued to be kept
> > separate), and adjust python-wheel.cygclass accordingly.
> > 
> > * Similarly, a separate package (in Fedora it's called 'python-
> > unversioned-command') provide unversioned symlinks, pointing to 2.7 for
> > now (for compatibility).
> > 
> > * Anything currently dependent on 'python' or 'python2' should either
> > be dropped if no longer needed, switched to 3 is possible, otherwise
> > rebuilt.
> > 
> > * Drop 2.7 from the "default" version set in python-wheel.cygclass, and
> > only build those modules that are actually needed by other things by
> > specifying "all".
> > 
> > * Once that's done, look at what's still depending on /usr/bin/python
> > ('python-unversioned-command'), and based on that decide when that can
> > be changed to point to python3.
> 
> first steps done:
> - updated 3.8 to 3.8.2
> - updated 3.7 to 3.7.7
> - updated also their python doc
> - upload of all of them is in progress

Didn't think of it earlier, but how about updating python3 (the major-
version symlinks) to 3.8 as a test: release now?  That should help
maintainers start the move without breaking the world for everybody
else.  Posted this to a branch to help:

https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/python3.git;a=commitdiff;h=772172be59111366ece38aebb1ea876322bfdd2f

> next steps:
> - I assume we can drop 3.5

Your call, it's still supported upstream for almost 5 more months.  I
wouldn't build anything python35-* except for
setuptools/pip/wheel/virtualenv.

> - for the time being no need to update 2.7 and 3.6
>    (we are just one version behind)

There's now a 2.7.18, we should probably pick that up, as it has the
final upstream fixes.  After that, it's time to start moving to 3.8 en
masse.

> - verify which python packages we need to build/rebuild
> 
> currently we have
> 
> 119 *python27*

These are fine as is, but they also don't need to be rebuilt or updated
any more.

> 114 *python36*
> 115 *python37*
> 10  *python38*

We don't need to _obsolete or remove python3[67]-* packages, we just
need to track how many don't have python38-* equivalents yet. 
Obviously that's still the vast majority, since 3.8 just got updated to
a stable version.

Jon Turney, if a python-foo source package was previously building e.g.
python27-foo, python36-foo, and python37-foo, and now starts building
only python37-foo and python38-foo, is calm going to complain?

> and ~ 225 other *python* packages (plus 10 for python35)

There are a lot of _obsolete python-*, python2-*, and python3-*
"packages" which we don't need to count.  How many of those names are
NOT _obsolete?

> - verify the fedora python-unversioned-command

This is the last step.

--
Yaakov




More information about the Cygwin-apps mailing list