NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.37k stars 13.6k forks source link

Chromium needs new/additional maintainers #197609

Open primeos opened 1 year ago

primeos commented 1 year ago

I'm currently the main/only maintainer but I'm getting too slow to resolve build errors in time. Plus a bus factor of one is of course not good. The main task/challenge is to keep Chromium building. Minor changes to the Nix build expressions are regularly required to deal with new build regressions/failures. We have chromiumBeta and chromiumDev in Nixpkgs so that we can fix build errors in advance (ideally at least chromiumBeta should build before it hits the stable channel - this is currently not the case: Chromium M107 will hit the stable channel tomorrow but the build is still broken: https://github.com/NixOS/nixpkgs/issues/195631).

I've started documented everything relevant a while ago in https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/networking/browsers/chromium but I'll probably need to update some details that have changed in the meantime.

The main requirements for a Chromium maintainer are probably the following:

Chromium maintainers should ideally also be added to Google Chrome, ChromeDriver, and Ungoogled Chromium as those packages are heavily intertwined.

I'll try to keep maintaining Chromium for now but I'm already past schedule for M107 (https://github.com/NixOS/nixpkgs/issues/195631) and I'm not sure anymore for how much longer my motivation will suffice (I'll try to keep it up for a smooth transition though).

Feel free to ask questions (I might currently be a bit slow to respond though).

lorenz commented 1 year ago

I already maintain an internal Chromium build for Ubuntu (because I hate the snap and I have some customizations I'm building into it). I'm however in the process of switching my dev workstation over to NixOS at which point I will probably stop maintaining my Chromium repo. I would be willing to maintain the NixOS chromium derivation. The only two bullet points that would be an issue are commit access and nixpkgs familiarity. I have made minor contributions to nixpkgs, but most of them were fixes or trivial changes. I'm also not very experienced with the nix language itself.

RaitoBezarius commented 1 year ago

I cannot step in immediately but I am interested into helping you @primeos on that subject.

primeos commented 1 year ago

Hi there, thanks for your replies and sorry for my delayed response (the offers are a bit "vague" (understandably) so I wasn't sure what to say).

I decided to open #213862 to track the issues/task so that the process of maintaining Chromium will hopefully become a bit more transparent. Feel free to drop comments there and you can also reach me via Matrix (@primeos:matrix.org).

Are you still interested? If so, looking into https://github.com/NixOS/nixpkgs/issues/213862#issuecomment-1464976039 might be a good first task as we still have approx. two months left to figure it out (but we shouldn't wait that long - 1-2 weeks would be much better). I'd probably do the following (in that order): 1) Search on https://bugs.chromium.org/p/chromium/issues/list to see if someone else already ran into that error 2) Check which commit introduced the change that causes that error (and probably revert it to see if that does indeed fix things) 3) Check why we get the error (we might "simply" need a newer LLVM version but it could also be something else)

lorenz commented 1 year ago

I'm still generally interested, but I am also perfectly fine just helping in diagnosing issues.

primeos commented 8 months ago

cc @emilylange and @networkException based on https://github.com/NixOS/nixpkgs/pull/275459.

How's the current situation looking? It seems like we could still need additional maintainers/help? Maybe @lorenz and @RaitoBezarius are still interested (they already helped me really well in the past)? I could offer to try to help with reviews / my knowledge from updating Chromium in the past (you could either ping me if necessary or keep me in meta.maintainers to always get notified).

I checked that Chromium remained roughly up-to-date while I was gone but didn't check if security updates (basically all Chromium updates) got merged in time (ASAP / < 24-48h as web browsers are super security sensitive/relevant) and if backports (to the stable NixOS release(s)) are working. Ideally we should have a primary maintainer that follows a release feed (e.g. https://chromereleases.googleblog.com/ - available as Atom or RSS feed and one can probably still filter for "Stable Channel Update for Desktop"; I also subscribed to the release schedule/calendar to prepare for major updates in advance: https://chromiumdash.appspot.com/schedule).

Edit: There's also https://github.com/NixOS/nixpkgs/issues/213862. I opened that issue as an experiment but it proved to be quite useful for me to track and coordinate work and I like that it makes the process a bit more transparent / easier to follow along (everyone interested can simply subscribe to or unsubscribe from the issue at any point and one could link to major/relevant issues/PRs from there). I'd leave it up to you though to determine if you find such an approach helpful or not.