Commit 3337ecd
committed
flake lock: fix relative inputs in nested flakes
When computeLocks() keeps an existing flake input without
refetching it, it recurses into that flake's inputs using the
parent flake's source path. That value is only used to resolve
relative 'path:' inputs, so it is harmless unless the kept flake
has one. When it does (e.g. a flake with a "path:./sub" input
that is itself a transitive input), the relative input is
resolved against the parent flake's tree instead of the kept
flake's, and locking then fails to find the input's flake.nix.
Force a refetch of the kept flake when it has a relative input,
so its real source path is available to resolve that input.
Flakes without relative inputs stay on the lazy path unchanged.
Fixes #14762.1 parent d1f04a7 commit 3337ecd
3 files changed
Lines changed: 63 additions & 0 deletions
File tree
- doc/manual/rl-next
- src/libflake
- tests/functional/flakes
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
638 | 638 | | |
639 | 639 | | |
640 | 640 | | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
641 | 653 | | |
642 | 654 | | |
643 | 655 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
172 | 172 | | |
173 | 173 | | |
174 | 174 | | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
0 commit comments