Fix remote one-line install failing under process substitution
Skip local path resolution when install.sh runs via bash <(curl ...), so resolve_src falls through to cloning instead of aborting on /dev/fd. Co-authored-by: Frank Vitrano <WHC2006@users.noreply.github.com>
This commit is contained in:
co-authored by
Frank Vitrano
parent
7e611c3cd8
commit
ed4236a89c
+17
-6
@@ -75,12 +75,23 @@ install_deps() {
|
||||
|
||||
# Resolve source tree: current repo, or clone to temp
|
||||
resolve_src() {
|
||||
local here
|
||||
here=$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" && pwd)
|
||||
if [[ -f $here/miaur && -d $here/lib ]]; then
|
||||
SRC=$here
|
||||
return 0
|
||||
fi
|
||||
local src=${BASH_SOURCE[0]}
|
||||
local here=
|
||||
|
||||
# `bash <(curl ...)` sets BASH_SOURCE to /dev/fd/N (a pipe). readlink -f then
|
||||
# yields /proc/PID/fd/pipe:..., and cd fails under set -e before we can clone.
|
||||
# Only look for a local tree when the installer is a normal on-disk file.
|
||||
case "$src" in
|
||||
/dev/fd/* | /proc/*/fd/*) ;;
|
||||
*)
|
||||
if here=$(cd "$(dirname "$(readlink -f "$src")")" && pwd); then
|
||||
if [[ -f $here/miaur && -d $here/lib ]]; then
|
||||
SRC=$here
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "==> Cloning ${REPO_URL} (${BRANCH})"
|
||||
TMP=$(mktemp -d)
|
||||
|
||||
Reference in New Issue
Block a user