Make x capable of resolving symlinks

When bootstrapping from outside of the rust source,
instead of calling 'x' from the absolute path
(like /home/user/rust/x), we should be able to link 'x'
from the rust source to binary paths so it can be used easily.
Before this change, 'x' was not capable of finding 'x.py' when
called from the linked file.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
This commit is contained in:
onur-ozkan 2023-10-14 17:53:33 +03:00
parent 39acbed8d6
commit e0fe1d6008
1 changed files with 6 additions and 3 deletions

9
x
View File

@ -11,10 +11,13 @@ set -eu
sh -n "$0" sh -n "$0"
realpath() { realpath() {
if [ -d "$1" ]; then local path="$1"
CDPATH='' command cd "$1" && pwd -P if [ -L "$path" ]; then
readlink -f "$path"
elif [ -d "$path" ]; then
(cd -P "$path" && pwd)
else else
echo "$(realpath "$(dirname "$1")")/$(basename "$1")" echo "$(realpath "$(dirname "$path")")/$(basename "$path")"
fi fi
} }