Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: [gentoo-dev] Why adding python3_8 to Gentoo sucks?
Date: Wed, 13 Nov 2019 21:16:23
Message-Id: ccde039ec427a525ddbd32fbd929e1032c2b2bf7.camel@gentoo.org
1 Hi,
2
3 I'd like to share my frustration at the state of Python in general,
4 and Python packages in Gentoo. So I'd like to 'bootstrap' python3_8 --
5 that is, add it to the most common dependency, dev-python/setuptools.
6 Simple thing, right?
7
8
9 1. There's no such thing as trivial dependency graph in Python. If you
10 think that setuptools has a few deps, you're entirely wrong. I actually
11 had to write a tool to even assemble list of deps to start with,
12 and the number is: 174. I mean, in order to enable py3.8 on setuptools,
13 you have to enable it on at least 173 other packages.
14
15 Sure, some of those packages are just doc-deps or test-deps, and some
16 could be avoided one way or another. However, avoiding them is only
17 temporary and involves more effort than it saves.
18
19
20 2. There are some packages that dropped Python 2.7 but still have 2.7
21 deps. So we need to also add py3.8 to older versions that still has
22 2.7. Plus, some packages have explicit <-deps. So we need to add 3.8
23 to them, and hope that the old version will actually work with 3.8,
24 and then to their extra dependencies.
25
26 This is all handiwork. The number is now 178 packages, or 187 ebuilds.
27
28
29 3. Of course there are packages with new deps dropping keywords whose
30 maintainers (or bumpers) never bothered filing a keywordreq. Because
31 why bother, somebody else will do that when it blocks everything,
32 right?!
33
34 Well, guess what. python3_8 flag is going to be masked on non-amd64
35 because people didn't bother keywording new versions of their packages
36 on other arches.
37
38 If you choose to realize your mistake now, and are willing to fix it,
39 start keywording new versions.
40
41
42 Here's the initial CI run:
43
44 https://github.com/gentoo/gentoo/pull/13638
45
46 The packages haven't been tested yet. If you want to help, feel free to
47 apply it locally, and run tests in all those packages, and try to
48 assemble a reasonably readable report of what fails. Then probably diff
49 the failures against py3.7 because some packages probably fail there
50 as well.
51
52 Of course many of those packages don't have tests at all. Because it
53 was too much effort, and the four-letter company didn't pay for them.
54 Because it was too hard to use GitHub snapshot over pypi tarball that
55 doesn't bundle tests because obviously nobody wants them. Help with
56 that welcome too.
57
58 Help with getting rid of py2 revdeps of py3-only packages would be very
59 welcome too.
60
61 In other words, there's a lot of work to get Python near-sane in Gentoo,
62 and we'd welcome all the help we can get. TIA.
63
64 --
65 Best regards,
66 Michał Górny

Attachments

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

Replies

Subject Author
Re: [gentoo-dev] Why adding python3_8 to Gentoo sucks? "Michał Górny" <mgorny@g.o>
Re: [gentoo-dev] Why adding python3_8 to Gentoo sucks? Alexey 'Alexxy' Shvetsov <alexxy@g.o>
Re: [gentoo-dev] Why adding python3_8 to Gentoo sucks? Ian Stakenvicius <axs@g.o>