Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: "Michał Górny" <mgorny@g.o>
Subject: [gentoo-dev] [PATCH news] 2020-02-06-python-2-7-eol: news item for py2.7 EOL
Date: Wed, 05 Feb 2020 21:20:46
Signed-off-by: Michał Górny <mgorny@g.o>
 .../2020-02-06-python-2-7-eol.en.txt          | 51 +++++++++++++++++++
 1 file changed, 51 insertions(+)
 create mode 100644 2020-02-06-python-2-7-eol/2020-02-06-python-2-7-eol.en.txt

diff --git a/2020-02-06-python-2-7-eol/2020-02-06-python-2-7-eol.en.txt b/2020-02-06-python-2-7-eol/2020-02-06-python-2-7-eol.en.txt
new file mode 100644
index 0000000..6adc04e
--- /dev/null
+++ b/2020-02-06-python-2-7-eol/2020-02-06-python-2-7-eol.en.txt
@@ -0,0 +1,51 @@
+Title: Python 2.7 went EOL
+Author: Michał Górny <mgorny@g.o>
+Posted: 2020-02-06
+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
+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).