Unverified Commit 6d564102 authored by Wolfgang Walther's avatar Wolfgang Walther
Browse files

ci/eval/compare/maintainers: fix maintainer pings without meta.position

In a recent change, the path matching was simplified in maintainers.nix.
This revealed a pre-existing logic bug: Packages without `meta.position`
would get an empty string as their file name. The change would then
cause this empty string to always be matched, which lead to maintainer
pings for these packages in seemingly random PRs, when some of their
dependencies were changed.
parent bd25fcc7
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -72,7 +72,8 @@ let
          (lib.unsafeGetAttrPos "src" drv)
          (lib.unsafeGetAttrPos "pname" drv)
          (lib.unsafeGetAttrPos "version" drv)

        ]
        ++ lib.optionals (drv.meta.position or null != null) [
          # Use ".meta.position" for cases when most of the package is
          # defined in a "common" section and the only place where
          # reference to the file with a derivation the "pos"
@@ -82,7 +83,7 @@ let
          #   "pkgs/tools/package-management/nix/default.nix:155"
          # We transform it to the following:
          #   { file = "pkgs/tools/package-management/nix/default.nix"; }
          { file = lib.head (lib.splitString ":" (drv.meta.position or "")); }
          { file = lib.head (lib.splitString ":" drv.meta.position); }
        ]
      )
    ));