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