aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Vandenberg2009-07-28 01:54:45 -0700
committerMax Howell2009-08-02 01:25:01 +0100
commitb3fe72efdace1edd112efa5c8271b04bf834717b (patch)
treee72e6fd45eaaa4e05232196c297e97155932f831
parent64c3ea038ff3cae4c0d547cd840b0684c9e27b10 (diff)
downloadhomebrew-b3fe72efdace1edd112efa5c8271b04bf834717b.tar.bz2
Ensure that the Cellar exists when symlinking
Only remove brew symlinks w/ selflink.
-rwxr-xr-xLibrary/Contributions/selflink.sh21
1 files changed, 17 insertions, 4 deletions
diff --git a/Library/Contributions/selflink.sh b/Library/Contributions/selflink.sh
index 285af4f86..c99f3956f 100755
--- a/Library/Contributions/selflink.sh
+++ b/Library/Contributions/selflink.sh
@@ -8,13 +8,26 @@ fi
source_base=`pwd`
if [[ $mode == install ]]; then
+ # Ensure that the Cellar exists
+ if [[ ! -e "$source_base/Cellar" ]] ; then
+ mkdir -p "$source_base/Cellar"
+ fi
+
ln -s "$source_base/bin/brew" "/usr/local/bin/brew";
ln -s "$source_base/Library" "/usr/local/Library";
ln -s "$source_base/Cellar" "/usr/local/Cellar";
-elif [[ $mode == undo ]]; then
- rm "/usr/local/bin/brew"
- rm "/usr/local/Library"
- rm "/usr/local/Cellar"
+elif [[ $mode == undo ]]; then
+ if [[ -h "/usr/local/bin/brew" ]] ; then
+ rm "/usr/local/bin/brew"
+ fi
+
+ if [[ -h "/usr/local/Library" ]] ; then
+ rm "/usr/local/Library"
+ fi
+
+ if [[ -h "/usr/local/Cellar" ]] ; then
+ rm "/usr/local/Cellar"
+ fi
else
echo "Unknown command: $mode";
echo "\tselflink.sh [install] >> symlinks to /usr/local"