Hi all,
I'm throwing in the towel on www-client/chromium. It just isn't any
fun to maintain, and it's making me feel guilty when I don't give it
the attention it requires.
If anyone is interested in keeping it going, please feel free to reach
out and I will do what I can to help with the transition. Full Gentoo developer(s) would be preferred, but I could also facilitate a proxy
commit scenario. Also happy to mentor folks who want to make the
transition to full developer.
This becomes more pressing as the vulnerabilities pile up: https://bugs.gentoo.org/907999.
Nobody interested at all? We have more than enough people *using* it..
My finger slipped in my last mail.
How do you see how many people are using a package?
mie., 7 iun. 2023, 13:56 Sam James <sam@gentoo.org> a scris:
This becomes more pressing as the vulnerabilities pile up:
https://bugs.gentoo.org/907999.
Nobody interested at all? We have more than enough people *using* it..
Alexe Stefan <stefanalexe48@gmail.com> writes:
My finger slipped in my last mail.
How do you see how many people are using a package?
Bug reports, mentions on forums, mentions on the mailing list, mentions
on IRC, etc.
Or, to put it another way: when you break it, enough people
shout. Gentoo doesn't have telemetry so we have to go off things like
this.
On 6/7/23 15:09, Jeff Gazso wrote:
Can you give me a list
of common pain points?
My wish would be a -bin package.
Even with -j12 it takes here 5-6 hours compile time, which is a pain.
[[PGP Signed Part:Undecided]]
On 6/7/23 15:09, Jeff Gazso wrote:
Can you give me a list
of common pain points?
My wish would be a -bin package.
Even with -j12 it takes here 5-6 hours compile time, which is a pain.
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.
That does sound painful.
- Across the 3 channels, you are looking at roughly 12 releases per month. That's a lot of churn.
* Why build unstable stuff, why not build only stable releases and fix the problems once?
* Looking at chromium-browser-official and the GitHub mirror, it's unclear to me which release is stable. How is that sorted out?
- 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 LLVM.
* How common of a problem is the C++ issue?
* I don't know C++, is that a major obstacle?
- Upstream bundles many libraries. The Gentoo ebuild has some logic to unbundle a number of these, but maintaining it is a pain.
* What tends to go wrong?
- Using the bundled libraries sometimes is problematic, especially on non-x86-64 targets which upstream doesn't support well.
* What tends to break here?
* Is the upstream likely to take patches or are we stuck maintaining a patch set for pretty much all non-x86-64 targets?
* Is this why Sam maintains a bunch of PPC64 patches? Do these ever make their way upstream?
That does sound painful.
- Across the 3 channels, you are looking at roughly 12 releases per month. >> That's a lot of churn.
* Why build unstable stuff, why not build only stable releases and fix the problems once?
* Looking at chromium-browser-official and the GitHub mirror, it's unclear to
me which release is stable. How is that sorted out?
- 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 LLVM.
* How common of a problem is the C++ issue?
* I don't know C++, is that a major obstacle?
- Upstream bundles many libraries. The Gentoo ebuild has some logic to
unbundle a number of these, but maintaining it is a pain.
* What tends to go wrong?
- Using the bundled libraries sometimes is problematic, especially on
non-x86-64 targets which upstream doesn't support well.
* What tends to break here?
* Is the upstream likely to take patches or are we stuck maintaining a patch set for pretty much all non-x86-64 targets?
* Is this why Sam maintains a bunch of PPC64 patches? Do these ever make their way upstream?
k
- Across the 3 channels, you are looking at roughly 12 releases permonth.
That's a lot of churn.
- 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 LLVM.
- 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.
I think Google does all this intentionally to piss off people trying to
use the "free-er" version of Chrome... let's face it, "their" aim is to create a one-fits-all spyware named Google Chrome.
Google does not want you to touch their mess.
Google does not want you to even think about going a extra mile to not
have telemetry in software you use every day.
Having said all this, it really is a miracle to me that the Gentoo
Chromium team had put up with this for so insanely long and I have the
most respect for you guys!
W dniu 7.06.2023 o 19:45, Mike Gilbert pisze:
On Wed, Jun 7, 2023 at 9:09 AM Jeff Gazso <jeff.gazso@gmail.com> wrote:that
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
a listshould be able to handle the build process quite well. Can you give me
email meof common pain points? If that is a long conversation feel free to
directly.
I'll start by giving a brief overview of the Chromium release processupstream:
- 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
LLVM.
- 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. :-)
--
Have a great day!
~ Maciej XGQT Barć
xgqt@gentoo.org
Gentoo Linux developer
(dotnet, emacs, math, ml, nim, scheme, sci) https://wiki.gentoo.org/wiki/User:Xgqt
9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C
On Wed, Jun 7, 2023 at 3:25 PM Jeff Gazso <jeff.gazso@gmail.com> wrote:
That does sound painful.
month.- Across the 3 channels, you are looking at roughly 12 releases per
That's a lot of churn.
* Why build unstable stuff, why not build only stable releases and fixthe
problems once?
That's certainly an option. The downside is stable releases almost
always fix security issues, so you are "under the gun" at that point.
* Looking at chromium-browser-official and the GitHub mirror, it'sunclear to
me which release is stable. How is that sorted out?
Some links for you:
https://chromiumdash.appspot.com/releases?platform=Linux https://chromereleases.googleblog.com/
that- Upstream likes to use modern C++ features, and they write C++ code
tends to break or is unsupported on stable releases of GCC and LLVM.
* How common of a problem is the C++ issue?
There are usually some issues with every major Chromium version.
* I don't know C++, is that a major obstacle?
Yes; you would at least need to teach yourself enough of the language
to attempt to interpret compiler error message.
- Upstream bundles many libraries. The Gentoo ebuild has some logic to unbundle a number of these, but maintaining it is a pain.
* What tends to go wrong?
- Version mismatches: upstream expects a different version of the
library than we have stable on Gentoo.
- Custom patching: sometimes Chromium forks/patches the bundled
library and there is a delay in sending those changes upstream (if it
ever happens).
- Chromium source files sometimes refer to the bundled header files
directly (#include "third_party/mylib/mylib.h") instead of using a
generic path like #include <mylib.h>.
- Using the bundled libraries sometimes is problematic, especially on non-x86-64 targets which upstream doesn't support well.
* What tends to break here?
For example, take ffmpeg. The bundled library uses a pre-configured
copy of ffmpeg, which can break depending on the user's system. At a
minimum, we need to reconfigure the bundled ffmpeg to work properly.
* Is the upstream likely to take patches or are we stuck maintaining apatch
set for pretty much all non-x86-64 targets?
Upstream supports x86-64 and ARM only. All other targets require
distro patching.
* Is this why Sam maintains a bunch of PPC64 patches? Do these ever make their way upstream?
Yes, this is why we have a PPC64 patchset (which we mostly steal from
Raptor Computing).
Also, with all this discussion, one can't help but wonder, is firefox/librewolf also in such danger?
Luckily few years ago
Mozilla invested in a pretty efficient CI system where they now test commits/releases using multiple different setups; for example, multiple different llvm releases, gcc etc.
Can you build firefox/librewolf with gcc?
Afaik, you can only build it with clang/llvm.
Librewolf if the only reason I have clang and llvm on my system.
joi, 8 iun. 2023, 10:31 Joonas Niilola <juippis@gentoo.org <mailto:juippis@gentoo.org>> a scris:
Luckily few years ago
Mozilla invested in a pretty efficient CI system where they now test
commits/releases using multiple different setups; for example, multiple
different llvm releases, gcc etc.
I don't use chromium and I don't know what release cycle it has, but can't those interested in running chromium use an
ebuild that tracks the git tree and updates after every change.
The maintenance burden would be minimal, and any patches could be applied with /etc/portage/patches.
If something like this isn't suitable for ::gentoo, it can be added to a personal overlay.
If the upstream release cycle is too fast, someone could fork the repo and update the fork as slow as desired.
Maybe something like this:
# Copyright 1999-2023 Gentoo Authors
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 300 |
Nodes: | 16 (2 / 14) |
Uptime: | 94:22:04 |
Calls: | 6,697 |
Calls today: | 2 |
Files: | 12,232 |
Messages: | 5,348,929 |