| Index: sdk/bin/pub
|
| diff --git a/sdk/bin/pub b/sdk/bin/pub
|
| index 42f84fce029f3bf86b7b05916877c25dc8158b27..616ff42929068daa1aa96f72746b81d553363876 100755
|
| --- a/sdk/bin/pub
|
| +++ b/sdk/bin/pub
|
| @@ -6,17 +6,15 @@
|
| # Run pub.dart on the Dart VM. This script assumes the Dart SDK's directory
|
| # structure.
|
|
|
| -function follow_links() {
|
| - file="$1"
|
| - while [ -h "$file" ]; do
|
| - # On Mac OS, readlink -f doesn't work.
|
| - file="$(readlink "$file")"
|
| - done
|
| - echo "$file"
|
| -}
|
| -
|
| -# Unlike $0, $BASH_SOURCE points to the absolute path of this file.
|
| -PROG_NAME="$(follow_links "$BASH_SOURCE")"
|
| +PROG_NAME=$(cd -P -- "$(dirname -- "$0")" && pwd -P) && \
|
| + PROG_NAME=$PROG_NAME/$(basename -- "$0")
|
| +
|
| +# resolve symlinks
|
| +while [ -h $PROG_NAME ]; do
|
| + DIR=$(dirname -- "$PROG_NAME")
|
| + SYM=$(readlink $PROG_NAME)
|
| + PROG_NAME=$(cd $DIR && cd $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM")
|
| +done
|
|
|
| # Handle the case where dart-sdk/bin has been symlinked to.
|
| BIN_DIR="$(cd "${PROG_NAME%/*}" ; pwd -P)"
|
|
|