From 23d11651fc54c8059a1d70239f2e490070f7059e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 25 Aug 2025 14:02:49 +0200 Subject: [PATCH] Preserve symlinks during store copy --- pkgs/testing/flake-module.nix | 2 +- pkgs/testing/nixos_test_lib/nix_setup.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/testing/flake-module.nix b/pkgs/testing/flake-module.nix index 848e68ea5..36dc2a23d 100644 --- a/pkgs/testing/flake-module.nix +++ b/pkgs/testing/flake-module.nix @@ -15,7 +15,7 @@ mkdir -p "$CLAN_TEST_STORE/nix/store" mkdir -p "$CLAN_TEST_STORE/nix/var/nix/gcroots" if [[ -n "''${closureInfo-}" ]]; then - ${pkgs.findutils}/bin/xargs -P"$(nproc)" ${pkgs.coreutils}/bin/cp --recursive --reflink=auto --target-directory "$CLAN_TEST_STORE/nix/store" < "$closureInfo/store-paths" + ${pkgs.findutils}/bin/xargs -r -P"$(nproc)" ${pkgs.coreutils}/bin/cp --recursive --no-dereference --reflink=auto --target-directory "$CLAN_TEST_STORE/nix/store" < "$closureInfo/store-paths" ${pkgs.nix}/bin/nix-store --load-db --store "$CLAN_TEST_STORE" < "$closureInfo/registration" fi ''; diff --git a/pkgs/testing/nixos_test_lib/nix_setup.py b/pkgs/testing/nixos_test_lib/nix_setup.py index a93cba3f5..2280ed650 100644 --- a/pkgs/testing/nixos_test_lib/nix_setup.py +++ b/pkgs/testing/nixos_test_lib/nix_setup.py @@ -53,8 +53,10 @@ def setup_nix_in_nix(closure_info: str | None) -> None: subprocess.run( # noqa: S603 [ XARGS_BIN, + "-r", f"-P{num_cpus}", # Use all available CPUs CP_BIN, + "--no-dereference", "--recursive", "--reflink=auto", # Use copy-on-write if available "--target-directory",