diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index 9009bb618acd..63675696b3b3 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -226,9 +226,6 @@ stdenv.mkDerivation (finalAttrs: { # injected by the pkgsStatic stdenv # rm -f $out/nix-support/propagated-build-inputs - '' + lib.optionalString finalAttrs.separateDebugInfo '' - # HACK: remove broken symlink created by hook - rm $debug/lib/debug/s390-ccw.img ''; preBuild = "cd build"; diff --git a/pkgs/build-support/setup-hooks/separate-debug-info.sh b/pkgs/build-support/setup-hooks/separate-debug-info.sh index ebc773a49218..9cec77b9b0cd 100644 --- a/pkgs/build-support/setup-hooks/separate-debug-info.sh +++ b/pkgs/build-support/setup-hooks/separate-debug-info.sh @@ -43,10 +43,11 @@ _separateDebugInfo() { then echo "separate-debug-info: warning: multiple files with build id $id found, overwriting" fi - $OBJCOPY --only-keep-debug "$i" "$dst/${id:0:2}/${id:2}.debug" - - # Also a create a symlink .debug. - ln -sfn ".build-id/${id:0:2}/${id:2}.debug" "$dst/../$(basename "$i")" + ( + $OBJCOPY --only-keep-debug "$i" "$dst/${id:0:2}/${id:2}.debug" && + # Also a create a symlink .debug. + ln -sfn ".build-id/${id:0:2}/${id:2}.debug" "$dst/../$(basename "$i")" + ) ) || rmdir -p "$dst/${id:0:2}" done < <(find "$prefix" -type f -print0 | sort -z) }