Try locate readlink first in pyenv-hooks, fix #2654 (#2655)

* Remove all use of `greadlink`, fix #2654

Signed-off-by: Harry Chen <i@harrychen.xyz>

* revert greadlink back in tests

---------

Signed-off-by: Harry Chen <i@harrychen.xyz>
Co-authored-by: Anton Petrov <anton.a.petrov@gmail.com>
This commit is contained in:
Shengqi Chen 2023-03-28 16:25:27 +08:00 committed by GitHub
parent 9fad1f46c5
commit b1ee6c93c4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 4 deletions

View file

@ -29,7 +29,7 @@ if enable -f "${BASH_SOURCE%/*}"/../libexec/pyenv-realpath.dylib realpath 2>/dev
else else
[ -z "$PYENV_NATIVE_EXT" ] || abort "failed to load \`realpath' builtin" [ -z "$PYENV_NATIVE_EXT" ] || abort "failed to load \`realpath' builtin"
READLINK=$(type -P greadlink readlink | head -n1) READLINK=$(type -P readlink)
[ -n "$READLINK" ] || abort "cannot find readlink - are you missing GNU coreutils?" [ -n "$READLINK" ] || abort "cannot find readlink - are you missing GNU coreutils?"
resolve_link() { resolve_link() {

View file

@ -26,7 +26,7 @@ if ! enable -f "${BASH_SOURCE%/*}"/pyenv-realpath.dylib realpath 2>/dev/null; th
echo "pyenv: failed to load \`realpath' builtin" >&2 echo "pyenv: failed to load \`realpath' builtin" >&2
exit 1 exit 1
fi fi
READLINK=$(type -P greadlink readlink | head -n1) READLINK=$(type -P readlink)
if [ -z "$READLINK" ]; then if [ -z "$READLINK" ]; then
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2 echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
exit 1 exit 1

View file

@ -34,7 +34,7 @@ if ! enable -f "${BASH_SOURCE%/*}"/pyenv-realpath.dylib realpath 2>/dev/null; th
exit 1 exit 1
fi fi
READLINK=$(type -P greadlink readlink | head -n1) READLINK=$(type -P readlink)
if [ -z "$READLINK" ]; then if [ -z "$READLINK" ]; then
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2 echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
exit 1 exit 1

View file

@ -56,9 +56,14 @@ lib() {
} }
lib "$1" lib "$1"
READLINK=$(type -P readlink)
if [ -z "$READLINK" ]; then
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
exit 1
fi
resolve_link() { resolve_link() {
$(type -P greadlink readlink | head -n1) "$1" $READLINK "$1"
} }
abs_dirname() { abs_dirname() {