diff options
author | Maximilian Bosch <maximilian@mbosch.me> | 2024-08-18 21:50:54 +0200 |
---|---|---|
committer | Maximilian Bosch <maximilian@mbosch.me> | 2024-08-19 19:57:12 +0000 |
commit | 040e7832323ca6ed59bd58620bca35a496f977b1 (patch) | |
tree | bd3868bc5a1110fc04d484ee327aaed7ddcfa3f8 /src/libexpr/imported-drv-to-derivation.nix | |
parent | e727dbc3a3d59d7742a24a2b394b63a04ecb4d24 (diff) |
flake: don't refetch unmodified inputs by recursive follows
Closes #460
I managed to trigger the issue by having the following inputs (shortened):
authentik-nix.url = "github:nix-community/authentik-nix";
authentik-nix.inputs.poetry2nix.inputs.nixpkgs.follows = "nixpkgs";
When evaluating this using
nix-eval-jobs --flake .#hydraJobs
I got the following error:
error: cannot update unlocked flake input 'authentik-nix/poetry2nix' in pure mode
The issue we have here is that `authentik-nix/poetry2nix` was written
into the `overrideMap` which caused Nix to assume it's a new input and
tried to refetch it (#460) or errored out in pure mode
(nix-eval-jobs / Hydra).
The testcase unfortunately only involves checking for the output log
and makes sure that something *is* logged on the first fetch so that
the test doesn't rot when the logging changes since I didn't
manage to trigger the error above with the reproducer from #460. In
fact, I only managed to trigger the `cannot update unlocked flake input`
error in this context with `nix-eval-jobs`.
Change-Id: Ifd00091eec9a0067ed4bb3e5765a15d027328807
Diffstat (limited to 'src/libexpr/imported-drv-to-derivation.nix')
0 files changed, 0 insertions, 0 deletions