From 8e44ae5bd4489c1c8342b43687e7026b2e521b21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 14 Nov 2014 11:38:33 +0100 Subject: [PATCH] stdenv lib64-moving: fail instead of overwriting Silent overwriting is dangerous and it bit us straightaway on gcc_multi. https://github.com/NixOS/nixpkgs/commit/51f1b4ec48d5 --- pkgs/build-support/setup-hooks/move-lib64.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/setup-hooks/move-lib64.sh b/pkgs/build-support/setup-hooks/move-lib64.sh index 46c90fcea6b..7724be369c9 100644 --- a/pkgs/build-support/setup-hooks/move-lib64.sh +++ b/pkgs/build-support/setup-hooks/move-lib64.sh @@ -3,6 +3,7 @@ # $output/lib. The rationale is that lib64 directories are unnecessary # in Nix (since 32-bit and 64-bit builds of a package are in different # store paths anyway). +# If the move would overwrite anything, it should fail on rmdir. fixupOutputHooks+=(_moveLib64) @@ -13,7 +14,7 @@ _moveLib64() { mkdir -p $prefix/lib shopt -s dotglob for i in $prefix/lib64/*; do - mv "$i" $prefix/lib + mv --no-clobber "$i" $prefix/lib done shopt -u dotglob rmdir $prefix/lib64