init.sh: Use readlink in pybin()
Use realpath only as a fallback. Signed-off-by: Leah Rowe <leah@libreboot.org>25.04_branch
parent
2f17c5be3b
commit
9ccfee43e7
|
@ -80,8 +80,7 @@ pybin()
|
|||
# ideally, don't rely on PATH or hardcoded paths if python venv.
|
||||
# use the *real*, direct executable linked to by the venv symlink
|
||||
if [ $venv -gt 0 ] && [ -L "`command -v "$1" 2>/dev/null`" ]; then
|
||||
# realpath isn't posix, but available mostly universally
|
||||
pypath="$(realpath \
|
||||
pypath="$(findpath \
|
||||
"$(command -v "$1" 2>/dev/null)" 2>/dev/null || :)"
|
||||
[ -e "$pypath" ] && [ ! -d "$pypath" ] && \
|
||||
[ -x "$pypath" ] && printf "%s\n" "$pypath" && return 0; :
|
||||
|
|
|
@ -144,6 +144,18 @@ singletree()
|
|||
return 1
|
||||
}
|
||||
|
||||
findpath()
|
||||
{
|
||||
[ $# -gt 0 ] || err "findpath: No arguments provided"
|
||||
while [ $# -gt 0 ]; do
|
||||
found="`readlink -f "$1" 2>/dev/null`" || return 1; :
|
||||
[ -n "$found" ] || found="`realpath "$1" 2>/dev/null`" || \
|
||||
return 1; :
|
||||
printf "%s\n" "$found"
|
||||
shift 1
|
||||
done
|
||||
}
|
||||
|
||||
fx_()
|
||||
{
|
||||
fd="`mktemp`" && x_ rm -f "$fd" && x_ touch "$fd"
|
||||
|
|
Loading…
Reference in New Issue