chromium: remove ofborg maintainer ping workaround, use CODEOWNERS

The workaround to have ofborg ping chromium and ungoogled-chromium
maintainers when a change was only made to the upstream-info relied on
string context.

That string context was provided by the upstream-info being a nix file,
not a json file, and then holding on to that string context using
awkward attribute merges.

It was intended as a quick fix until the handling of this would improve
in ofborg itself and worked great.

That was until very recently when we switched from the chromium release
tarball to git source fetching in 8dd2f1add9.

Part of that change included going back from upstream-info.nix to
upstream-info.json and with that losing the string context and the base
on which this workaround used to work.

But this is fine. A lot has happened in the meantime.

CODEOWNERS was reimplemented and no longer requires every user listed in
it to have write permissions to the repository (commit bit).

Meaning we can accept that ofborg pings no longer work and instead rely
on CODEOWNERS exclusively.

It should, however, be noted that CODEOWNERS provide less granularity
than ofborg, meaning we can no longer differentiate between
ungoogled-chromium and chromium or even chromedriver.

Previously, implementing the workaround that is now essentially
reverted: 68c59791fb
This commit is contained in:
emilylange
2024-12-06 20:30:39 +01:00
parent d5c7eaec3b
commit 674835a9d9
4 changed files with 5 additions and 14 deletions
+2 -2
View File
@@ -207,8 +207,8 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @NixOS/nix-team @raitobeza
# Browsers
/pkgs/applications/networking/browsers/firefox @mweinelt
/pkgs/applications/networking/browsers/chromium @emilylange
/nixos/tests/chromium.nix @emilylange
/pkgs/applications/networking/browsers/chromium @emilylange @networkException
/nixos/tests/chromium.nix @emilylange @networkException
# Certificate Authorities
pkgs/data/misc/cacert/ @ajs124 @lukegb @mweinelt
@@ -84,6 +84,8 @@ mkChromiumDerivation (base: rec {
homepage = if ungoogled
then "https://github.com/ungoogled-software/ungoogled-chromium"
else "https://www.chromium.org/";
# Maintainer pings for this derivation are highly unreliable.
# If you add yourself as maintainer here, please also add yourself as CODEOWNER.
maintainers = with lib.maintainers; if ungoogled
then [ networkexception emilylange ]
else [ networkexception emilylange ];
@@ -663,12 +663,7 @@ let
} // lib.optionalAttrs (!isElectron) {
inherit chromiumDeps npmDeps;
};
}
# overwrite `version` with the exact same `version` from the same source,
# except it internally points to `upstream-info.nix` for
# `builtins.unsafeGetAttrPos`, which is used by ofborg to decide
# which maintainers need to be pinged.
// builtins.removeAttrs upstream-info (builtins.filter (e: e != "version") (builtins.attrNames upstream-info));
};
# Remove some extraAttrs we supplied to the base attributes already.
in stdenv.mkDerivation (base // removeAttrs extraAttrs [
@@ -178,9 +178,3 @@ in stdenv.mkDerivation {
inherit sandboxExecutableName;
};
}
# the following is a complicated and long-winded variant of
# `inherit (chromium.browser) version`, with the added benefit
# that it keeps the pointer to upstream-info.nix for
# builtins.unsafeGetAttrPos, which is what ofborg uses to
# decide which maintainers need to be pinged.
// builtins.removeAttrs chromium.browser (builtins.filter (e: e != "version") (builtins.attrNames chromium.browser))