Gentoo Archives: gentoo-dev-announce

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev-announce <gentoo-dev-announce@l.g.o>
Cc: gentoo-python <gentoo-python@l.g.o>
Subject: [gentoo-dev-announce] Updates from Python team: python.eclass gone, gpyutils updates, incoming PYTHON_SINGLE_TARGET change
Date: Tue, 18 Apr 2017 17:26:38
Message-Id: 1492461568.12095.2.camel@gentoo.org
1 Hi, everyone.
2
3 Here's a quick summary of the recent events in the Python ecosystem
4 in Gentoo, and quick note of what's to come.
5
6
7 python.eclass is gone, next things to come
8 ==========================================
9
10 As you probably learned already, python.eclass and distutils.eclass were
11 removed almost a month ago. This concluded a long effort of many
12 developers; once again, I would like to thank all of them for their help
13 and continued support.
14
15 With python.eclass gone, there are still many things to do. A few years
16 ago, Arfrever has been filing bugs requesting developers to improve
17 the use of python.eclass in their ebuilds -- today, we need to ask
18 developers to improve their use of python-r1.
19
20 The most important tasks at the moment are:
21
22 a. working on improving test suite statuses of Python packages -- good
23 and reliable test suites make all other work much easier;
24
25 b. working on porting Python packages to newer versions of CPython 3.5
26 and 3.6 -- we really ought to stabilize at least 3.5 soon;
27
28 c. fixing common mistakes in using python-r1 -- missing REQUIRED_USE,
29 dependencies, partial USE conditionals;
30
31 d. converting the few remaining packages that depend on python directly
32 to use one of the eclasses.
33
34
35 gpyutils report updates
36 =======================
37
38 With the most of python-r1 migration done, I've changed the reports
39 generated by gpyutils a fair bit. I've removed the verbose (and slow to
40 generate) reports for conversions, and killed the progress bars (they
41 were 100% anyway, except for python-any-r1 candidates).
42
43 The gpy-upgrade-impl reports for python3.6 were added. The upgrade
44 reports now include:
45
46 https://qa-reports.gentoo.org/output/gpyutils/34-to-35.txt
47 packages that support 3.4 but not 3.5
48 (preferably try 3.6 as well)
49
50 https://qa-reports.gentoo.org/output/gpyutils/34-to-35-stablereq.txt
51 packages that need newer version stabilized for 3.5 support
52
53 https://qa-reports.gentoo.org/output/gpyutils/35-to-36.txt
54 packages that support 3.5 but not 3.6
55
56 https://qa-reports.gentoo.org/output/gpyutils/35-to-36-stablereq.txt
57 packages that need newer version stabilized for 3.6 support
58
59 Aside to those, two important reports were added recently. The first one
60 detects and reports common mistakes in python-r1&co ebuilds. The other
61 one provides a fast listing of all packages that need porting to python-
62 r1&co (i.e. depend on python directly).
63
64 https://qa-reports.gentoo.org/output/gpyutils/missing-meta.txt
65 packages having common missing metadata bits
66
67 https://qa-reports.gentoo.org/output/gpyutils/cands.txt
68 packages to port to python-r1&co
69 (note that python-any-r1 classification is usually wrong here,
70 and python-single-r1 should be used instead)
71
72 While the former set of reports is mostly useful to Python team,
73 the latter set is useful to all developers. Especially with missing-
74 meta, we'd appreciate more developers fixing their own packages without
75 us having to file hundreds of bugs.
76
77
78 One-of-py2 + one-of-py3 unreliable, switching to single-r1
79 ==========================================================
80
81 In other news, we've finally decided to abandon most of the effort to
82 support packages that explicitly provides support for one version of
83 python2 and one version of python3 in plugin systems. Two major cases of
84 this were libpeas (GNOME plugin thingy) and vim.
85
86 While technically possible to support those use cases, it proved very
87 difficult and unreliable for developers, both downstream and upstream,
88 and unfriendly to our users.
89
90 The GNOME team has already approved the changes for libpeas, and the new
91 ~arch version supports python3 only, via python-single-r1. I will be
92 discussing converting vim to python-single-r1 soon.
93
94
95 PYTHON_SINGLE_TARGET changing to python-3
96 =========================================
97
98 Last but not least, soap has been working a lot lately to make it
99 possible to finally switch PYTHON_SINGLE_TARGET to python3. The main
100 goal is to make it easier to support the growing number of packages that
101 no longer support python2 (esp. around GNOME).
102
103 Having to support multiple python3 targets, and at the same time having
104 only one python2_7 (and sometimes pypy) of python2 to support, it proves
105 better long-term to just default to the current version of python3.x via
106 PYTHON_SINGLE_TARGET, and add necessary package.use adjustments to
107 the few packages that support 2.7+pypy, than the other way around.
108
109 The current changes can be seen on the following pull request:
110 https://github.com/gentoo/gentoo/pull/4299
111
112 --
113 Best regards,
114 Michał Górny

Attachments

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