From b7e19b4953f6f9c3377781342e517c78ebf27bce Mon Sep 17 00:00:00 2001 From: Paul Mucur Date: Tue, 16 Aug 2011 22:26:57 +0100 Subject: [PATCH] Solaris doesn't support readlink so use greadlink if available instead. Taken from Ryan Tomayko's "GNU is killing Solaris", c.f. http://tomayko.com/writings/gnu-is-killing-solaris --- libexec/rbenv | 6 +++++- libexec/rbenv-init | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/libexec/rbenv b/libexec/rbenv index 87181d7b..ec8adb2a 100755 --- a/libexec/rbenv +++ b/libexec/rbenv @@ -1,6 +1,10 @@ #!/usr/bin/env bash set -e +resolve_link() { + $(type -p greadlink readlink | head -1) $1 +} + abs_dirname() { local cwd="$(pwd)" local path="$1" @@ -8,7 +12,7 @@ abs_dirname() { while [ -n "$path" ]; do cd "${path%/*}" local name="${path##*/}" - path="$(readlink "$name" || true)" + path="$(resolve_link "$name" || true)" done pwd diff --git a/libexec/rbenv-init b/libexec/rbenv-init index 392edf40..3e670372 100755 --- a/libexec/rbenv-init +++ b/libexec/rbenv-init @@ -12,6 +12,10 @@ if [ -z "$shell" ]; then shell="$(basename "$SHELL")" fi +resolve_link() { + $(type -p greadlink readlink | head -1) $1 +} + abs_dirname() { local cwd="$(pwd)" local path="$1" @@ -19,7 +23,7 @@ abs_dirname() { while [ -n "$path" ]; do cd "${path%/*}" local name="${path##*/}" - path="$(readlink "$name" || true)" + path="$(resolve_link "$name" || true)" done pwd