2021-06-21 16:17:31 +03:00
|
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
|
|
# Regression test for https://github.com/NixOS/nix/issues/4858
|
|
|
|
|
|
|
|
|
|
source common.sh
|
2021-07-26 07:54:55 +03:00
|
|
|
|
|
|
|
|
|
requireDaemonNewerThan "2.4pre20210621"
|
2021-06-21 16:17:31 +03:00
|
|
|
|
|
|
|
|
|
# Get the output path of `rootCA`, and put some garbage instead
|
|
|
|
|
outPath="$(nix-build ./content-addressed.nix -A rootCA --no-out-link)"
|
2021-08-16 21:03:32 +03:00
|
|
|
|
nix-store --delete $(nix-store -q --referrers-closure "$outPath")
|
2021-06-21 16:17:31 +03:00
|
|
|
|
touch "$outPath"
|
|
|
|
|
|
|
|
|
|
# The build should correctly remove the garbage and put the expected path instead
|
|
|
|
|
nix-build ./content-addressed.nix -A rootCA --no-out-link
|
|
|
|
|
|
|
|
|
|
# Rebuild it. This shouldn’t overwrite the existing path
|
|
|
|
|
oldInode=$(stat -c '%i' "$outPath")
|
|
|
|
|
nix-build ./content-addressed.nix -A rootCA --no-out-link --arg seed 2
|
|
|
|
|
newInode=$(stat -c '%i' "$outPath")
|
|
|
|
|
[[ "$oldInode" == "$newInode" ]]
|