diff options
author | Doron Behar <doron.behar@gmail.com> | 2021-10-02 01:19:29 +0300 |
---|---|---|
committer | Tobias Bergkvist <tobias@bergkv.ist> | 2021-10-19 05:30:42 -0700 |
commit | a45c5db39128019ca0d37f3cca1cfa7450e9a894 (patch) | |
tree | 083545ae9f4e8532d8ee8377499d719ddd9242b7 /pkgs/build-support/setup-hooks | |
parent | 4b833cc141172f88e563692f2458253212d1cf1a (diff) | |
download | nixpkgs-a45c5db39128019ca0d37f3cca1cfa7450e9a894.tar nixpkgs-a45c5db39128019ca0d37f3cca1cfa7450e9a894.tar.gz nixpkgs-a45c5db39128019ca0d37f3cca1cfa7450e9a894.tar.bz2 nixpkgs-a45c5db39128019ca0d37f3cca1cfa7450e9a894.tar.lz nixpkgs-a45c5db39128019ca0d37f3cca1cfa7450e9a894.tar.xz nixpkgs-a45c5db39128019ca0d37f3cca1cfa7450e9a894.tar.zst nixpkgs-a45c5db39128019ca0d37f3cca1cfa7450e9a894.zip |
makeBinaryWrapper: Assert $1 is executable
Diffstat (limited to 'pkgs/build-support/setup-hooks')
-rw-r--r-- | pkgs/build-support/setup-hooks/make-binary-wrapper.sh | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/pkgs/build-support/setup-hooks/make-binary-wrapper.sh b/pkgs/build-support/setup-hooks/make-binary-wrapper.sh index abc0e10631e..3948db7e4ee 100644 --- a/pkgs/build-support/setup-hooks/make-binary-wrapper.sh +++ b/pkgs/build-support/setup-hooks/make-binary-wrapper.sh @@ -1,3 +1,12 @@ +# Assert that FILE exists and is executable +# +# assertExecutable FILE +assertExecutable() { + local file="$1" + [[ -f "$file" && -x "$file" ]] || \ + die "Cannot wrap '$file' because it is not an executable file" +} + # Generate a binary executable wrapper for wrapping an executable. # The binary is compiled from generated C-code using gcc. # makeBinaryWrapper EXECUTABLE OUT_PATH ARGS @@ -39,6 +48,7 @@ makeCWrapper() { local argv0 n params cmd main flagsBefore flags executable params length local uses_prefix uses_suffix uses_concat3 executable=$(escapeStringLiteral "$1") + assertExecutable "$1" params=("$@") length=${#params[*]} for ((n = 1; n < length; n += 1)); do |