On Wed, Jun 7, 2023 at 9:09 AM Jeff Gazso <jeff.ga...@gmail.com> wrote:
> I'm in the process of getting Gentoo dev status. I'm willing to consider
> maintaining www-client/chromium. I have a high core count rack server that
> should be able to handle the build process quite well. Can you give me a list
> of common pain points? If that is a long conversation feel free to email me
> directly.

I'll start by giving a brief overview of the Chromium release process upstream:

- 3 release channels: stable, beta, dev/unstable
- Major development occurs on the master branch.
- Once a month, a new major version is forked from master, and this
becomes the "dev channel" release series.
- Over the next several weeks in the dev channel the major version is
tested and fixed, with releases roughly once per week.
- Eventually, the branch is promoted to the "beta channel".
- A similar process occurs in the beta channel, with weekly releases
until the major version is finally promoted to the "stable channel".
- The stable channel sees around 1 to 2 releases per month, usually
with security fixes included.

Downstream, we have historically tried to keep up with all 3 channels.
Keeping the dev channel working is the biggest challenge. The other
channels usually just involve build testing and the occasional
backport of fixes.

Common problems:

- Across the 3 channels, you are looking at roughly 12 releases per
month. That's a lot of churn.
- The dev channel never compiles the first time you try it. There are
always problems to fix.
- Upstream only really supports using their bundled toolchain (an LLVM
git snapshot on Ubuntu). On Gentoo, we try to make it work with the
stable release of GCC and LLVM/clang.
- Upstream likes to use modern C++ features, and they write C++ code
that tends to break or is unsupported on stable releases of GCC and
- Upstream bundles many libraries. The Gentoo ebuild has some logic to
unbundle a number of these, but maintaining it is a pain.
- Using the bundled libraries sometimes is problematic, especially on
non-x86-64 targets which upstream doesn't support well.
- Upstream cross-compiles their ARM binaries, whereas we compile
natively on Gentoo. This sometimes causes conflicts.

I'm probably missing some things, but I think that should give you
some idea of what you're in for. :-)

Reply via email to