From 4a1e51f957b57f781fbdd2e40ca48ebac886e974 Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Wed, 1 May 2019 03:19:02 +0200 Subject: [PATCH] patchShebangs: Allow for multiple arguments It's tempting to think patchShebangs supports multiple arguments. Without this patch it just silently ignores all but the first. Now it patches the shebangs in all of its arguments. Fixes: #57695 --- pkgs/build-support/setup-hooks/patch-shebangs.sh | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/pkgs/build-support/setup-hooks/patch-shebangs.sh b/pkgs/build-support/setup-hooks/patch-shebangs.sh index 1dac1ca4d7b..3a879db2c0a 100644 --- a/pkgs/build-support/setup-hooks/patch-shebangs.sh +++ b/pkgs/build-support/setup-hooks/patch-shebangs.sh @@ -9,8 +9,9 @@ fixupOutputHooks+=(patchShebangsAuto) -# Run patch shebangs on a directory. -# patchShebangs [--build | --host] directory +# Run patch shebangs on a directory or file. +# Can take multiple paths as arguments. +# patchShebangs [--build | --host] PATH... # Flags: # --build : Lookup commands available at build-time @@ -31,9 +32,7 @@ patchShebangs() { shift fi - local dir="$1" - - header "patching script interpreter paths in $dir" + header "patching script interpreter paths in $@" local f local oldPath local newPath @@ -42,8 +41,6 @@ patchShebangs() { local oldInterpreterLine local newInterpreterLine - [ -e "$dir" ] || return 0 - local f while IFS= read -r -d $'\0' f; do isScript "$f" || continue @@ -97,7 +94,7 @@ patchShebangs() { rm "$timestamp" fi fi - done < <(find "$dir" -type f -perm -0100 -print0) + done < <(find "$@" -type f -perm -0100 -print0) stopNest }