Index: sdk/bin/pub |
diff --git a/sdk/bin/pub b/sdk/bin/pub |
index 19acaa383522ec4a9c28578a19f057bbfe1bd6da..b49ed1f24960ed330b122472943e72d4a9badb2f 100755 |
--- a/sdk/bin/pub |
+++ b/sdk/bin/pub |
@@ -4,20 +4,19 @@ |
# BSD-style license that can be found in the LICENSE file. |
function follow_links() { |
- while [ -h "$1" ]; do |
+ file="$1" |
+ while [ -h "$file" ]; do |
# On Mac OS, readlink -f doesn't work. |
- 1="$(readlink "$1")" |
+ file="$(readlink "$file")" |
done |
- echo "$1" |
+ echo "$(cd "$(dirname $file)"; pwd -P)/$(basename "$file")" |
} |
-# Unlike $0, $BASH_SOURCE points to the absolute path of this file. |
-PROG_NAME="$(follow_links "$BASH_SOURCE")" |
- |
-# Handle the case where dart-sdk/bin has been symlinked to. |
-BIN_DIR="$(follow_links "$(cd "${PROG_NAME%/*}" ; pwd -P)")" |
- |
-SDK_DIR="$(cd "${BIN_DIR}/.." ; pwd -P)" |
+# Unlike $0, $BASH_SOURCE points to the absolute path of this file. Follow |
+# symlinks to handle the case where dart-sdk/bin or dart-sdk/bin/pub have been |
+# linked to. |
+BIN_DIR="$(dirname "$(follow_links "$BASH_SOURCE")")" |
+SDK_DIR="$(dirname "$BIN_DIR")" |
DART="$BIN_DIR/dart" |