1 |
Hi, everyone. |
2 |
|
3 |
I think most of us agree that support for minor arches in Gentoo |
4 |
is suboptimal, and that we've pretty much been focusing on avoiding |
5 |
the problem than really solving it. |
6 |
|
7 |
|
8 |
At this moment, we have 8 arches with stable profiles: |
9 |
alpha amd64 arm hppa ia64 ppc ppc64 x86 |
10 |
|
11 |
We have 8 arches whose profiles are purely dev/exp: |
12 |
arm64 m68k mips nios2 riscv s390 sh sparc |
13 |
|
14 |
We also have dev/exp *-fbsd and prefix profiles. |
15 |
|
16 |
Of those arches: |
17 |
|
18 |
a. mips, *-fbsd and prefix use ~arch only, |
19 |
|
20 |
b. arm64 and sparc have reasonably supported stable tree (the former |
21 |
aiming to become stable profile, the latter recently lost the status), |
22 |
|
23 |
c. other minor arches have stable keywords added haphazardly. |
24 |
|
25 |
|
26 |
The main problems I see are: |
27 |
|
28 |
1. The most of mainline tooling (repoman, CI, stable-bot) default to |
29 |
ignoring non-stable profiles because of the inconsistencies |
30 |
in dependency tree of those profiles. Sadly, this means that developers |
31 |
keep making it worse by missing new breakages they're introducing. This |
32 |
gives us an awful chicken-and-egg problem. |
33 |
|
34 |
2. The meanings of 'dev' and 'exp' are really unclear to me. I'm not |
35 |
really sure if anyone follows a really clear criteria in classifying |
36 |
profiles to either. |
37 |
|
38 |
3. We can't really expect to get all profiles of given type (dev or exp) |
39 |
to start passing at the same time. |
40 |
|
41 |
|
42 |
What I would really like to achieve is improvement of dependency tree |
43 |
consistency across different profiles. Ideally, we'd check that on all |
44 |
profiles, including dev and exp but realistically I don't think that |
45 |
could happen. |
46 |
|
47 |
The goal we've been originally pursuing was fixing depgraphs of |
48 |
different arches (arm64, mips) to the point when it became correct |
49 |
and marking them stable once that state was achieved. However, I'm not |
50 |
sure if this is eventually going to fly because: |
51 |
|
52 |
一. We don't really seem to be getting much closer, and as I mentioned |
53 |
people keep committing new breakage. |
54 |
|
55 |
二. I suppose marking mips stable would create some confusion resulting |
56 |
in people trying to stabilize stuff. |
57 |
|
58 |
三. This wouldn't help e.g. sparc which has recently lost stable status. |
59 |
I'd still like to see it correct but I don't think the Council will |
60 |
agree upon restoring the stable status without proper arch team backing |
61 |
it. |
62 |
|
63 |
|
64 |
So I'm thinking of an alternate idea: to start adding staging warnings |
65 |
for additional profile class, combined with arch restriction. In other |
66 |
words, change CI from: |
67 |
|
68 |
-p stable |
69 |
|
70 |
to: |
71 |
|
72 |
-p stable,something -a alpha,amd64,...,mips,... |
73 |
|
74 |
with a separate class for NonSolvableDeps in non-stable profiles (like |
75 |
repoman's badindev/badinexp) that triggers only a staging-class warning. |
76 |
|
77 |
However, this means that: |
78 |
|
79 |
১. We need to settle for either dev or exp being 'more' supported, |
80 |
and drop all unsupported profiles to the other group. |
81 |
|
82 |
২. We need to fix the appropriate class of profiles for stable arches |
83 |
(or move them to the other group). |
84 |
|
85 |
৩. The arches in question still need to generate reasonably low number |
86 |
of warnings. |
87 |
|
88 |
|
89 |
Your thoughts? |
90 |
|
91 |
-- |
92 |
Best regards, |
93 |
Michał Górny |