@@ -77,7 +77,7 @@ let
77 if materialized != null && !__pathExists materialized
77 if materialized != null && !__pathExists materialized
79 echo "Materialized nix used for ${name} is missing. To fix run :" >> $ERR
79 echo "Materialized nix used for ${name} is missing. To fix run :" >> $ERR
80− echo " cp -r ${calculateNoHash} ${toString materialized}" >> $ERR
80+ echo " cp -Lr ${calculateNoHash} ${toString materialized}" >> $ERR
81 echo " chmod -R +w ${toString materialized}" >> $ERR
81 echo " chmod -R +w ${toString materialized}" >> $ERR
@@ -91,7 +91,7 @@ let
91 diff -ru ${materialized} ${calculateNoHash} || true
91 diff -ru ${materialized} ${calculateNoHash} || true
92 echo "Materialized nix used for ${name} incorrect. To fix run :" >> $ERR
92 echo "Materialized nix used for ${name} incorrect. To fix run :" >> $ERR
93 echo " rm -rf ${toString materialized}" >> $ERR
93 echo " rm -rf ${toString materialized}" >> $ERR
94− echo " cp -r ${calculateNoHash} ${toString materialized}" >> $ERR
94+ echo " cp -Lr ${calculateNoHash} ${toString materialized}" >> $ERR
95 echo " chmod -R +w ${toString materialized}" >> $ERR
95 echo " chmod -R +w ${toString materialized}" >> $ERR
@@ -100,7 +100,7 @@ let
103− cp -r ${unchecked} $out
103+ cp -Lr ${unchecked} $out
104 # Make sure output files can be removed from the sandbox
104 # Make sure output files can be removed from the sandbox
105 chmod -R +w $out
105 chmod -R +w $out
@@ -114,10 +114,10 @@ let
115 calculateNoHash = derivation;
115 calculateNoHash = derivation;
116 calculateUseHash =
116 calculateUseHash =
117− # Use `cp -r` here to get rid of symlinks so we know the result
117+ # Use `cp -Lr` here to get rid of symlinks so we know the result
118 # can be safely materialized (no symlinks to the store).
118 # can be safely materialized (no symlinks to the store).
119 runCommand name hashArgs ''
119 runCommand name hashArgs ''
120− cp -r ${derivation} $out
120+ cp -Lr ${derivation} $out
121 # Make sure output files can be removed from the sandbox
121 # Make sure output files can be removed from the sandbox
122 chmod -R +w $out
122 chmod -R +w $out
@@ -125,7 +125,7 @@ let
125 assert materialized != null;
125 assert materialized != null;
126 assert __pathExists materialized;
126 assert __pathExists materialized;
127 runCommand name (pkgs.lib.optionalAttrs (sha256 == null) hashArgs) ''
127 runCommand name (pkgs.lib.optionalAttrs (sha256 == null) hashArgs) ''
128− cp -r ${materialized} $out
128+ cp -Lr ${materialized} $out
129 # Make sure output files can be removed from the sandbox
129 # Make sure output files can be removed from the sandbox
130 chmod -R +w $out
130 chmod -R +w $out