Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: [gentoo-dev] Guidelines on Python 2 cleanup
Date: Mon, 03 Aug 2020 09:25:34
Message-Id: 41b13ec25f9b4cff8b87877d2270605b4604247f.camel@gentoo.org
1 Hello, everyone.
2
3 There has been some unrest wrt Python 2 removal lately. To put things
4 back in order, I've spent a considerable time filing bugs for all
5 the remaining packages yesterday (some of them turned out to be false
6 positives, sorry) and I'd like to issue some official guidelines
7 to avoid misunderstandings.
8
9
10 The official deadline for Python 2 in Gentoo is 2021-01-01. This means
11 that up to this date, all packages have to be ported to Python 3, with
12 new versions stable and the last old versions ready to be cleaned up.
13 All unported packages will be last rited with 30 day removal period
14 and no possible extension.
15
16 I would really like to avoid extending the deadline. That is, unless
17 the big G. or the big M. forces us to. Apparently they're too busy
18 inventing new programming languages to port their scripts.
19
20 However, we shouldn't wait till the last minute. It makes sense
21 to wait for packages that are high-profile and/or have good chances
22 of actually being ported. It doesn't make sense to delay removing some
23 obscure package that hasn't seen any activity in 10 years. The whole
24 point is that we last rite packages in smaller batches that make it
25 easier to deal with, and that we last rite them early to give more time
26 for users to react. It would really suck if we did a 250-package last
27 rites on January 1st.
28
29
30 Now, to the guidelines:
31
32 1. Normally, last rites apply only to packages that *unconditionally*
33 need Python. Please *do not* last rite packages if it is sufficient
34 to mask USE=python or alike.
35
36 1a. Masking or removing conditional Python support is not need
37 immediately necessary; however, it may be desirable to do it early
38 to give users more time to complain, and to unblock dependencies
39 if there are any.
40
41 1b. A corner case here are packages requiring Python for tests.
42 Restricting tests suck.
43
44 1c. In case of some unmaintained packages, where other treecleaning
45 conditions apply, it may be desirable to last rite anyway.
46
47
48 2. Give people a chance to react. Last rite only if there is no reply
49 to the relevant bug for, say, 30 days.
50
51 2a. If maintainers point out that the work is underway, it's fine
52 to wait.
53
54 2b. But if the work has stopped progressing for a long time now
55 and it is unlikely that it will be completed before the deadline,
56 it may be better to stop waiting and warn the users.
57
58
59 3. Do not last rite reverse dependencies without warning. If you
60 notice some last rite candidate is blocked, please *at the very least*
61 CC maintainers of revdeps to give them notice that their packages are
62 affected. Filing extra bugs is even better.
63
64 3a. I suppose extra bugs shouldn't be necessary if revdeps belong to
65 the same family of packages and have the same maintainer (i.e. you can
66 clearly guess they need to go as well).
67
68
69 4. Leave high-profile and/or likely-to-be-ported packages for later.
70 At least right now we have enough obscure and dead packages to last
71 rite first.
72
73 4a. That doesn't mean wait with them forever. It would be nice not to
74 last rite all high-profile packages in one go.
75
76
77 5. Please *verify* everything before proceeding. As I've mentioned,
78 some bugs might be false positives. Some packages may be fixed without
79 closing the bug.
80
81 5a. Also note that some packages have || deps that show up in rdep
82 reports but don't justify last riting reverse dependencies.
83
84 5b. Please file stabilization bugs (but do not CC arches without
85 approval) or ping maintainers wrt cleanup whenever appropriate.
86
87 --
88 Best regards,
89 Michał Górny

Attachments

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