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