Gentoo Archives: gentoo-project

From: Benda Xu <heroxbd@g.o>
To: gentoo-project@l.g.o
Subject: [gentoo-project] Re: For next council meeting: moving Portage to python3.6+
Date: Sat, 24 Feb 2018 04:45:02
Message-Id: 87606nuhfe.fsf@gentoo.org
In Reply to: [gentoo-project] For next council meeting: moving Portage to python3.6+ by Daniel Robbins
1 Hi Daniel,
2
3 Daniel Robbins <drobbins@××××××.org> writes:
4
5 > Zac Medico and I would like to discuss the following at the next
6 > council meeting: moving Portage to support only python3.6+. One of the
7 > primary benefits of this change is that it will allow us to use
8 > python's native async implementation as we look to make Portage faster
9 > at a critical time when we are looking to improve Portage
10 > performance. As we approach the stabilization of python3.6 in Gentoo,
11 > it seems like a good time to discuss the process of jettisoning 2.7
12 > support and standardizing on 3.6 for Portage.
13 >
14 > Right now, a custom 'asyncio-like' set of classes is used for async in
15 > Portage. This limits interoperability with other async-friendly python
16 > modules and produces additional maintenance overhead for the project.
17 >
18 > Maybe even more importantly, 3.6+ compatibility also gives us the
19 > ability to use many other new language features and reduce the
20 > maintenance overhead of having 2.7 compatibility for the extensive
21 > Portage code-base. We expect that this will improve the velocity of
22 > Portage development, provide opportunities to improve Portage
23 > functionality and also allow us clean up a lot of unnecessarily
24 > complex code (and eliminate code) that is there only to ensure
25 > compatibility with 2.7.
26
27 Thanks, I think drop 2.7 is that way to move forward.
28
29 A sidenode: At present python-3.x cannot be compiled on linux-2.6.8
30 (RHEL/Centos 4) or linux-2.6.16 (RHEL/Centos 5) with Gentoo Prefix,
31 unless glibc is patched. I am writing up a patch for review to
32 reintroduce glibc-2.16 and fix glibc-2.19, for them to support
33 python-3.x builds.
34
35 Yours,
36 Benda