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


Reply via email to