From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 42115138350 for ; Wed, 5 Feb 2020 21:20:46 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E4028E0872; Wed, 5 Feb 2020 21:20:42 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 4A477E0863 for ; Wed, 5 Feb 2020 21:20:42 +0000 (UTC) Received: from localhost.localdomain (c142-245.icpnet.pl [85.221.142.245]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: mgorny) by smtp.gentoo.org (Postfix) with ESMTPSA id 70B5B34E7AD; Wed, 5 Feb 2020 21:20:40 +0000 (UTC) From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= To: gentoo-dev@lists.gentoo.org Cc: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Subject: [gentoo-dev] [PATCH news] 2020-02-06-python-2-7-eol: news item for py2.7 EOL Date: Wed, 5 Feb 2020 22:20:11 +0100 Message-Id: <20200205212011.119889-1-mgorny@gentoo.org> X-Mailer: git-send-email 2.25.0 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Archives-Salt: 755514f4-8800-4d84-9aff-ecfeed1ae595 X-Archives-Hash: a1bdc7b3bd852b4e809dbb79ac8ecb53 Signed-off-by: Michał Górny --- .../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 +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 +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.25.0