public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [REVIEW v2 0/2] 2020-09-28-python-2-7-cleanup news item
@ 2020-09-28  6:42 Michał Górny
  2020-09-28  6:42 ` [gentoo-dev] [REVIEW v2 1/2] 2020-09-28-python-2-7-cleanup: add a new " Michał Górny
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Michał Górny @ 2020-09-28  6:42 UTC (permalink / raw
  To: gentoo-dev; +Cc: python, Michał Górny

Hi,

I've figured out a better solution than changing PYTHON_TARGETS and then
revbumping the packages to have users upgrade (which may happen before
they change PYTHON_TARGETS).  Instead, I'll revbump these few packages
and remove Python 2 in new revisions.

The majority of users will get the py2-less versions on next @world
upgrade, and the few that need renpy, old mongodb, old kodi... will stay
at current revision.  This involves some temporary duplication
on version bumps but I don't think this will be major issue.

In other changes, I've included recommended upgrade/cleanup instructions
and a warning to add python:2.7 to @world if you need it for your
projects.

-- 
Best regards,
Michał Górny

Michał Górny (2):
  2020-09-28-python-2-7-cleanup: add a new news item
  2020-02-07-python-2-7-eol: remove superseded news item

 .../2020-02-07-python-2-7-eol.en.txt          | 51 ----------------
 .../2020-09-28-python-2-7-cleanup.en.txt      | 58 +++++++++++++++++++
 2 files changed, 58 insertions(+), 51 deletions(-)
 delete mode 100644 2020-02-07-python-2-7-eol/2020-02-07-python-2-7-eol.en.txt
 create mode 100644 2020-09-28-python-2-7-cleanup/2020-09-28-python-2-7-cleanup.en.txt

-- 
2.28.0



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [gentoo-dev] [REVIEW v2 1/2] 2020-09-28-python-2-7-cleanup: add a new news item
  2020-09-28  6:42 [gentoo-dev] [REVIEW v2 0/2] 2020-09-28-python-2-7-cleanup news item Michał Górny
@ 2020-09-28  6:42 ` Michał Górny
  2020-09-28  6:42 ` [gentoo-dev] [REVIEW v2 2/2] 2020-02-07-python-2-7-eol: remove superseded " Michał Górny
  2020-09-28  8:46 ` [gentoo-dev] [REVIEW v2 0/2] 2020-09-28-python-2-7-cleanup " Ulrich Mueller
  2 siblings, 0 replies; 5+ messages in thread
From: Michał Górny @ 2020-09-28  6:42 UTC (permalink / raw
  To: gentoo-dev; +Cc: python, Michał Górny

Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 .../2020-09-28-python-2-7-cleanup.en.txt      | 58 +++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 2020-09-28-python-2-7-cleanup/2020-09-28-python-2-7-cleanup.en.txt

diff --git a/2020-09-28-python-2-7-cleanup/2020-09-28-python-2-7-cleanup.en.txt b/2020-09-28-python-2-7-cleanup/2020-09-28-python-2-7-cleanup.en.txt
new file mode 100644
index 0000000..8dbcd78
--- /dev/null
+++ b/2020-09-28-python-2-7-cleanup/2020-09-28-python-2-7-cleanup.en.txt
@@ -0,0 +1,58 @@
+Title: Python 2.7 cleanup is progressing
+Author: Michał Górny <mgorny@gentoo.org>
+Posted: 2020-09-28
+Revision: 1
+News-Item-Format: 2.0
+Display-If-Installed: dev-lang/python:2.7
+
+Python 2.7 has reached its end-of-life by 2019-12-31, and many projects
+have removed Python 2 support since.  During the last few months we have
+been working hard to migrate Gentoo to Python 3, and we have finally
+reached the point making it possible for the vast majority of our users
+to run a system free of Python 2.7 modules.
+
+The few remaining high profile packages (e.g. dev-python/cython)
+are preserving Python 2.7 only for a very few uncommon packages.
+For this reason, we have decided to create new revisions of them having
+Python 2.7 removed.  If you do not need Python 2.7 there, your package
+manager should upgrade these packages to the new revisions.
+
+Please note that you may need to manually uninstall any Python 2.7
+packages installed from third-party repositories and/or run `emerge
+--depclean` first to remove orphan packages.  The recommended process
+for Portage users is:
+
+    emerge --depclean
+    emerge -vDuU @world
+    emerge --depclean
+
+Please note that the Python 2.7 interpreter (without additional Python
+packages) remains necessary to build a few high profile packages,
+in particular Chromium, Mozilla software and PyPy.  If you build either
+of these packages from source, you will not be able to permanently
+remove Python 2.7 from your system.
+
+We are going to preserve CPython 2.7 (and PyPy2.7) for as long
+as necessary and provide security fixes to the best of our ability.
+However, please note that we are not able to dedicate resources to
+auditing Python 2.7's code and with little community interest in that,
+it should be considered potentially vulnerable.
+
+If your projects still rely on Python 2.7, we would like to once again
+encourage you to migrate them to Python 3.  However, if you really need
+to run them, we suggest using a virtualenv.  To create a new Python 2.7
+environment, install dev-python/virtualenv and use the following option:
+
+    virtualenv -p /usr/bin/python2.7 ...
+
+To create a PyPy2.7 environment:
+
+    virtualenv -p /usr/bin/pypy ...
+
+Modern versions of pip should be able to automatically select older
+versions of packages that still support Python 2.7.  Please note that
+these versions are generally no longer supported.  They can be buggy,
+vulnerable or simply incompatible with one another.
+
+Please do not forget to add dev-lang/python:2.7 to your @world set
+or it may get depcleaned once all package dependencies are gone.
-- 
2.28.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-dev] [REVIEW v2 2/2] 2020-02-07-python-2-7-eol: remove superseded news item
  2020-09-28  6:42 [gentoo-dev] [REVIEW v2 0/2] 2020-09-28-python-2-7-cleanup news item Michał Górny
  2020-09-28  6:42 ` [gentoo-dev] [REVIEW v2 1/2] 2020-09-28-python-2-7-cleanup: add a new " Michał Górny
@ 2020-09-28  6:42 ` Michał Górny
  2020-09-28  8:46 ` [gentoo-dev] [REVIEW v2 0/2] 2020-09-28-python-2-7-cleanup " Ulrich Mueller
  2 siblings, 0 replies; 5+ messages in thread
From: Michał Górny @ 2020-09-28  6:42 UTC (permalink / raw
  To: gentoo-dev; +Cc: python, Michał Górny

Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 .../2020-02-07-python-2-7-eol.en.txt          | 51 -------------------
 1 file changed, 51 deletions(-)
 delete mode 100644 2020-02-07-python-2-7-eol/2020-02-07-python-2-7-eol.en.txt

diff --git a/2020-02-07-python-2-7-eol/2020-02-07-python-2-7-eol.en.txt b/2020-02-07-python-2-7-eol/2020-02-07-python-2-7-eol.en.txt
deleted file mode 100644
index fb9c16e..0000000
--- a/2020-02-07-python-2-7-eol/2020-02-07-python-2-7-eol.en.txt
+++ /dev/null
@@ -1,51 +0,0 @@
-Title: Python 2.7 went EOL
-Author: Michał Górny <mgorny@gentoo.org>
-Posted: 2020-02-07
-Revision: 1
-News-Item-Format: 2.0
-Display-If-Installed: dev-lang/python:2.7
-
-Python 2.7 has reached its end-of-life by 2019-12-31.  Python package
-upstreams have started removing Python 2 compatibility code from their
-packages more aggressively.  This includes common dependencies such as
-dev-python/pytest, dev-python/setuptools and dev-python/sphinx.  While
-we realize that many packages are still dependent on Python 2, providing
-full support for it exceeds our maintenance capabilities.
-
-Upstream is planning to make one more release of dev-lang/python:2.7
-in April 2020.  We are going to continue maintaining and patching
-the interpreter for as long as it is feasible, most likely even after
-all Python 2 packages are gone from Gentoo.
-
-At the same time, we are actively working towards switching
-the distribution to Python 3.  Whenever possible, we are removing
-Python 2 support from packages.  It will remain available for
-the packages missing Python 3 compatibility and their dependencies
-for some more time.  However, packages that have little chances of being
-ported will eventually be removed.
-
-If you are still using Python 2 for your projects, we strongly recommend
-you to migrate away.  For the time being, it is preferable to use
-dev-python/virtualenv or a similar solution rather than ebuilds,
-to install the dependencies for your projects locally.
-
-Regular Gentoo systems will be migrated off Python 2 gracefully.  It may
-be necessary to use --changed-deps or a similar option during system
-upgrades whenever they become blocked by Python 2 packages installed
-earlier.
-
-If you wish to remove Python 2.7 entirely sooner, you can try removing
-python2_7 from PYTHON_TARGETS.  However, this will require adding
-explicit package.use entries if some of the installed packages still
-require Python 2.  An example package.use entry follows:
-
-  # disable py2.7 without altering the other flags
-  */* PYTHON_TARGETS: -python2_7
-  # enable py2.7 for setuptools
-  dev-python/setuptools PYTHON_TARGETS: python2_7
-  # switch a single-impl package to 2.7
-  dev-embedded/libftdi PYTHON_TARGETS: python2_7
-  dev-embedded/libftdi PYTHON_SINGLE_TARGET: -* python2_7
-
-Note that package.use entries are not necessary for packages that
-support one implementation only (i.e. do not support Python 3 at all).
-- 
2.28.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [gentoo-dev] [REVIEW v2 0/2] 2020-09-28-python-2-7-cleanup news item
  2020-09-28  6:42 [gentoo-dev] [REVIEW v2 0/2] 2020-09-28-python-2-7-cleanup news item Michał Górny
  2020-09-28  6:42 ` [gentoo-dev] [REVIEW v2 1/2] 2020-09-28-python-2-7-cleanup: add a new " Michał Górny
  2020-09-28  6:42 ` [gentoo-dev] [REVIEW v2 2/2] 2020-02-07-python-2-7-eol: remove superseded " Michał Górny
@ 2020-09-28  8:46 ` Ulrich Mueller
  2020-09-28  9:05   ` Michał Górny
  2 siblings, 1 reply; 5+ messages in thread
From: Ulrich Mueller @ 2020-09-28  8:46 UTC (permalink / raw
  To: Michał Górny; +Cc: gentoo-dev, python

[-- Attachment #1: Type: text/plain, Size: 782 bytes --]

>>>>> On Mon, 28 Sep 2020, Michał Górny wrote:

> I've figured out a better solution than changing PYTHON_TARGETS and then
> revbumping the packages to have users upgrade (which may happen before
> they change PYTHON_TARGETS).  Instead, I'll revbump these few packages
> and remove Python 2 in new revisions.

> The majority of users will get the py2-less versions on next @world
> upgrade, and the few that need renpy, old mongodb, old kodi... will stay
> at current revision.  This involves some temporary duplication
> on version bumps but I don't think this will be major issue.

Do I understand this right, future version bumps will have two parallel
ebuild revisions (like r0 and r100) with only the lower revision
supporting Python 2.7? Tricky. :)

Ulrich

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 507 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [gentoo-dev] [REVIEW v2 0/2] 2020-09-28-python-2-7-cleanup news item
  2020-09-28  8:46 ` [gentoo-dev] [REVIEW v2 0/2] 2020-09-28-python-2-7-cleanup " Ulrich Mueller
@ 2020-09-28  9:05   ` Michał Górny
  0 siblings, 0 replies; 5+ messages in thread
From: Michał Górny @ 2020-09-28  9:05 UTC (permalink / raw
  To: gentoo-dev; +Cc: python

[-- Attachment #1: Type: text/plain, Size: 1103 bytes --]

On Mon, 2020-09-28 at 10:46 +0200, Ulrich Mueller wrote:
> > > > > > On Mon, 28 Sep 2020, Michał Górny wrote:
> > I've figured out a better solution than changing PYTHON_TARGETS and then
> > revbumping the packages to have users upgrade (which may happen before
> > they change PYTHON_TARGETS).  Instead, I'll revbump these few packages
> > and remove Python 2 in new revisions.
> > The majority of users will get the py2-less versions on next @world
> > upgrade, and the few that need renpy, old mongodb, old kodi... will stay
> > at current revision.  This involves some temporary duplication
> > on version bumps but I don't think this will be major issue.
> 
> Do I understand this right, future version bumps will have two parallel
> ebuild revisions (like r0 and r100) with only the lower revision
> supporting Python 2.7? Tricky. :)
> 

If by 'future', you mean the bumps in the next few weeks, then yes.
 Though these packages generally don't get frequent releases, so there
may be no future releases.  Or upstream may just drop py2.

-- 
Best regards,
Michał Górny


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 618 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-09-28  9:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-28  6:42 [gentoo-dev] [REVIEW v2 0/2] 2020-09-28-python-2-7-cleanup news item Michał Górny
2020-09-28  6:42 ` [gentoo-dev] [REVIEW v2 1/2] 2020-09-28-python-2-7-cleanup: add a new " Michał Górny
2020-09-28  6:42 ` [gentoo-dev] [REVIEW v2 2/2] 2020-02-07-python-2-7-eol: remove superseded " Michał Górny
2020-09-28  8:46 ` [gentoo-dev] [REVIEW v2 0/2] 2020-09-28-python-2-7-cleanup " Ulrich Mueller
2020-09-28  9:05   ` Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox