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
+13
-2
@@ -75,12 +75,23 @@ install_deps() {
|
|||||||
|
|
||||||
# Resolve source tree: current repo, or clone to temp
|
# Resolve source tree: current repo, or clone to temp
|
||||||
resolve_src() {
|
resolve_src() {
|
||||||
local here
|
local src=${BASH_SOURCE[0]}
|
||||||
here=$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" && pwd)
|
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
|
if [[ -f $here/miaur && -d $here/lib ]]; then
|
||||||
SRC=$here
|
SRC=$here
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
echo "==> Cloning ${REPO_URL} (${BRANCH})"
|
echo "==> Cloning ${REPO_URL} (${BRANCH})"
|
||||||
TMP=$(mktemp -d)
|
TMP=$(mktemp -d)
|
||||||
|
|||||||
Reference in New Issue
Block a user