From ff3e7d2b4bebca772d22c7d75bc91204c0cf6316 Mon Sep 17 00:00:00 2001 From: Cireo Date: Thu, 7 Jul 2016 13:35:08 -0700 Subject: [PATCH] patchShebangs: strip trailing whitespace Prior to this commit, trailing whitespace would be introduced when modifying '#!' lines with no arguments. For example (whitespace added): /nix/store/.../foo: interpreter directive changed from "/bin/bash" to "/nix/store/...-bash-4.3-p42/bin/bash " /nix/store/.../bar: interpreter directive changed from "/bin/baz wef" to "/nix/store/...-baz wef " We add a sed command to strip trailing whitespace, so the above commands would drop the two spaces after "bash", or the one space after "baz wef". abbradar: fixed commit title Closes #16785. --- pkgs/build-support/setup-hooks/patch-shebangs.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/setup-hooks/patch-shebangs.sh b/pkgs/build-support/setup-hooks/patch-shebangs.sh index 38660718d0e2..f3ecfdd96e8f 100644 --- a/pkgs/build-support/setup-hooks/patch-shebangs.sh +++ b/pkgs/build-support/setup-hooks/patch-shebangs.sh @@ -46,7 +46,8 @@ patchShebangs() { args="$arg0 $args" fi - newInterpreterLine="$newPath $args" + # Strip trailing whitespace introduced when no arguments are present + newInterpreterLine=$(echo "$newPath $args" | sed 's/[[:space:]]*$//') if [ -n "$oldPath" -a "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ]; then if [ -n "$newPath" -a "$newPath" != "$oldPath" ]; then