Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: [gentoo-dev] Python 2 cleanup update
Date: Sun, 27 Sep 2020 17:45:34
Message-Id: 17f9c872829d5d6ae4d437bcbc22a1516a7a1d3a.camel@gentoo.org
1 Hello, everyone.
2
3 TL;DR: we're nearing the total annihilation of Python 2 software
4 in Gentoo. Most users could safely disable py2 USE flags today.
5 Python 2 vulns have been patched recently, the interpreter and a few
6 packages using Python at build time (with no deps) will stay. Should we
7 change PYTHON_TARGETS now, or wait some more and just annihilate
8 the py2 flag from all packages?
9
10
11 Long version:
12
13 We're reached the point where the majority of packages relying on py2
14 have either been ported to py3, removed or masked for removal.
15 As a result, I've been able to eliminate python2_7 target from the vast
16 majority of dev-python/* packages. On their next system upgrade, our
17 users are going to notice most of Python 2.7 modules gone from their
18 systems.
19
20 However, because of their reverse dependencies a few packages can't lose
21 their py2.7-iness, and therefore are going to block depcleaning Python
22 2.7 for now. These include old versions of setuptools, numpy, pillow,
23 as well as all versions of cython, nose, pykerberos, pyyaml and their
24 dependencies. The major blockers for them are:
25
26 - dev-lang/gdl (py entirely optional but the package itself is seriously
27 broken)
28
29 - dev-db/mongodb (py3 version was just stabilized, need to decide how to
30 clean old versions up)
31
32 - games-engines/renpy (no py3 version yet)
33
34 - media-tv/kodi (py3 version in alpha)
35
36 We plan to have these packages fixed or removed by the deadline.
37
38
39 However, we already know that there are some packages that use Python 2
40 at build time and that will keep requiring it past the deadline.
41 The initial list includes:
42
43 - dev-python/pypy* (TODO: need to figure bootstrap out)
44
45 - dev-lang/spidermonkey, www-client/seamonkey, www-client/firefox...
46 (thank you, Mozilla)
47
48 - www-client/chromium, dev-qt/qtwebengine... (thank you, Google)
49
50 Sadly, the big corps are too busy improving their spying functionality
51 and creating NIH programming languages to take care of such minor
52 matters as cleaning up.
53
54 The general rule is that py2.7 may remain in packages that use it
55 at build time only (i.e. don't install anything depending on Python)
56 and have no dependencies on Python packages (i.e. don't require any
57 other packages to install py2.7 modules). Or to put it otherwise,
58 python-r1 and python-single-r1 will lose py2.7 support entirely, while
59 python-any-r1 will retain minimal support without dependencies.
60
61
62 This also implies that we're going to keep Python 2.7 itself for as long
63 as necessary, and patch it if possible. I should take this opportunity
64 to remind you that it's quite possible that the interpreter itself has
65 unknown vulnerabilities. Only recently I've backported two sec fixes
66 from Python 3 which no other distribution (including the one promising
67 paid support for Python 2 for next years) or upstream (including all
68 these boasting that they're going to maintain Python 2 themselves) has
69 even noticed (to the best of my knowledge).
70
71
72 An open question is whether we should remove python2_7 from
73 PYTHON_TARGETS now. If we do that, it will permit the vast majority of
74 Gentoo users to depclean Python 2.7 today, independently of how long
75 the maintainer of renpy is going to block it, with only a few users
76 having to enable the flag manually. However, doing this makes sense
77 only if we're really going to delay the impeding doom long.
78
79 I will probably prepare an updated news item for Python 2.7 removal,
80 to replace the one from February with the updated plan, current
81 information and helpful tips.
82
83
84 Finally, I would like to thank all the helpful package maintainers, arch
85 teams and other developers who have made this possible.
86
87 --
88 Best regards,
89 Michał Górny

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] Python 2 cleanup update Alec Warner <antarus@g.o>
Re: [gentoo-dev] Python 2 cleanup update Lars Wendler <polynomial-c@g.o>