Merge pull request #24944 from ahmedtd/make-makewrapper-picky
makeWrapper: Fail loudly when misused
This commit is contained in:
commit
67f37b70e8
@ -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"
|
||||||
|
}
|
||||||
|
|
||||||
# construct an executable file that wraps the actual executable
|
# construct an executable file that wraps the actual executable
|
||||||
# makeWrapper EXECUTABLE ARGS
|
# makeWrapper EXECUTABLE ARGS
|
||||||
|
|
||||||
@ -24,6 +33,8 @@ makeWrapper() {
|
|||||||
local params varName value command separator n fileNames
|
local params varName value command separator n fileNames
|
||||||
local argv0 flagsBefore flags
|
local argv0 flagsBefore flags
|
||||||
|
|
||||||
|
assertExecutable "${file}"
|
||||||
|
|
||||||
mkdir -p "$(dirname "$wrapper")"
|
mkdir -p "$(dirname "$wrapper")"
|
||||||
|
|
||||||
echo "#! $SHELL -e" > "$wrapper"
|
echo "#! $SHELL -e" > "$wrapper"
|
||||||
@ -119,6 +130,9 @@ filterExisting() {
|
|||||||
wrapProgram() {
|
wrapProgram() {
|
||||||
local prog="$1"
|
local prog="$1"
|
||||||
local hidden
|
local hidden
|
||||||
|
|
||||||
|
assertExecutable "${prog}"
|
||||||
|
|
||||||
hidden="$(dirname "$prog")/.$(basename "$prog")"-wrapped
|
hidden="$(dirname "$prog")/.$(basename "$prog")"-wrapped
|
||||||
while [ -e "$hidden" ]; do
|
while [ -e "$hidden" ]; do
|
||||||
hidden="${hidden}_"
|
hidden="${hidden}_"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user