mirror of
https://github.com/NixOS/nix
synced 2025-06-27 21:01:16 +02:00
copyPathToStore(): Preserve symlinks
E.g. in a derivation attribute `foo = ./bar`, if ./bar is a symlink, we should copy the symlink to the store, not its target. This restores the behaviour of Nix <= 2.19.
This commit is contained in:
parent
92bf150b1c
commit
26b87e78b5
4 changed files with 19 additions and 2 deletions
16
tests/functional/symlinks.sh
Normal file
16
tests/functional/symlinks.sh
Normal file
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
source common.sh
|
||||
|
||||
# Check that when we have a derivation attribute that refers to a
|
||||
# symlink, we copy the symlink, not its target.
|
||||
# shellcheck disable=SC2016
|
||||
nix build --impure --no-link --expr '
|
||||
with import ./config.nix;
|
||||
|
||||
mkDerivation {
|
||||
name = "simple";
|
||||
builder = builtins.toFile "builder.sh" "[[ -L \"$symlink\" ]]; mkdir $out";
|
||||
symlink = ./lang/symlink-resolution/foo/overlays;
|
||||
}
|
||||
'
|
Loading…
Add table
Add a link
Reference in a new issue