Hi, everyone. I think most of us agree that support for minor arches in Gentoo is suboptimal, and that we've pretty much been focusing on avoiding the problem than really solving it.
At this moment, we have 8 arches with stable profiles: alpha amd64 arm hppa ia64 ppc ppc64 x86 We have 8 arches whose profiles are purely dev/exp: arm64 m68k mips nios2 riscv s390 sh sparc We also have dev/exp *-fbsd and prefix profiles. Of those arches: a. mips, *-fbsd and prefix use ~arch only, b. arm64 and sparc have reasonably supported stable tree (the former aiming to become stable profile, the latter recently lost the status), c. other minor arches have stable keywords added haphazardly. The main problems I see are: 1. The most of mainline tooling (repoman, CI, stable-bot) default to ignoring non-stable profiles because of the inconsistencies in dependency tree of those profiles. Sadly, this means that developers keep making it worse by missing new breakages they're introducing. This gives us an awful chicken-and-egg problem. 2. The meanings of 'dev' and 'exp' are really unclear to me. I'm not really sure if anyone follows a really clear criteria in classifying profiles to either. 3. We can't really expect to get all profiles of given type (dev or exp) to start passing at the same time. What I would really like to achieve is improvement of dependency tree consistency across different profiles. Ideally, we'd check that on all profiles, including dev and exp but realistically I don't think that could happen. The goal we've been originally pursuing was fixing depgraphs of different arches (arm64, mips) to the point when it became correct and marking them stable once that state was achieved. However, I'm not sure if this is eventually going to fly because: 一. We don't really seem to be getting much closer, and as I mentioned people keep committing new breakage. 二. I suppose marking mips stable would create some confusion resulting in people trying to stabilize stuff. 三. This wouldn't help e.g. sparc which has recently lost stable status. I'd still like to see it correct but I don't think the Council will agree upon restoring the stable status without proper arch team backing it. So I'm thinking of an alternate idea: to start adding staging warnings for additional profile class, combined with arch restriction. In other words, change CI from: -p stable to: -p stable,something -a alpha,amd64,...,mips,... with a separate class for NonSolvableDeps in non-stable profiles (like repoman's badindev/badinexp) that triggers only a staging-class warning. However, this means that: ১. We need to settle for either dev or exp being 'more' supported, and drop all unsupported profiles to the other group. ২. We need to fix the appropriate class of profiles for stable arches (or move them to the other group). ৩. The arches in question still need to generate reasonably low number of warnings. Your thoughts? -- Best regards, Michał Górny