From f88bd76fcd132e3f525a84bea976cac08a545afd Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Fri, 10 Dec 2021 10:50:46 -0300 Subject: [PATCH] nixos-rebuild: switch to tmpDir during rebuilds This is a workaround for issue #144811 until this issue is either fixed on nix itself. --- pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh index e5e40dca086e..7f6d6ce22827 100755 --- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh +++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh @@ -362,14 +362,16 @@ if [ "$action" = edit ]; then exit 1 fi - +ORIGIN_PWD="$PWD" tmpDir=$(mktemp -t -d nixos-rebuild.XXXXXX) SSHOPTS="$NIX_SSHOPTS -o ControlMaster=auto -o ControlPath=$tmpDir/ssh-%n -o ControlPersist=60" +cd "$tmpDir" cleanup() { for ctrl in "$tmpDir"/ssh-*; do ssh -o ControlPath="$ctrl" -O exit dummyhost 2>/dev/null || true done + cd "$ORIGIN_PWD" rm -rf "$tmpDir" } trap cleanup EXIT