Files
gvm/binscripts/gvm-installer
T

74 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
display_error() {
tput sgr0
tput setaf 1
echo "ERROR: $1"
tput sgr0
exit 1
}
update_profile() {
[ -f $1 ] || return 1
cat $1 | grep "$source_line" > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "$source_line" >> $1
fi
}
BRANCH=$1
GVM_DEST=$2
if [ "$GVM_DEST" == "" ]; then
GVM_DEST="$HOME"
GVM_NAME=".gvm"
else
GVM_NAME="gvm"
fi
SRC_REPO=git://github.com/moovweb/gvm.git
[ "$GVM_DEST" == "" ] && display_error "No destination specified!"
[ -d $GVM_DEST/$GVM_NAME ] && display_error "Already installed!"
[ -d $GVM_DEST ] || mkdir -p $GVM_DEST > /dev/null 2>&1 || display_error "Failed to create $GVM_DEST"
cd $GVM_DEST && git clone $SRC_REPO $GVM_NAME > /dev/null 2>&1 ||
display_error "Failed to clone from $SRC_REPO into $GVM_DEST/$GVM_NAME"
if [ "$BRANCH" != "" ]; then
cd $GVM_DEST/$GVM_NAME && git checkout $BRANCH > /dev/null 2>&1 ||
display_error "Failed to checkout $BRANCH branch"
fi
mv $GVM_DEST/$GVM_NAME/.git $GVM_DEST/$GVM_NAME/git.bak
if [ "$GVM_NAME" == ".gvm" ]; then
source_line="[[ -s \"\$HOME/.gvm/scripts/gvm\" ]] && source \"\$HOME/.gvm/scripts/gvm\""
source_file="\$HOME/.gvm/scripts/gvm"
else
source_line="[[ -s \"${GVM_DEST}/gvm/scripts/gvm\" ]] && source \"${GVM_DEST}/gvm/scripts/gvm\""
source_file="${GVM_DEST}/gvm/scripts/gvm"
fi
if [ "`uname`" == "Linux" ]; then
update_profile $HOME/.bashrc || update_profile $HOME/.bash_profile
elif [ "`uname`" == "Darwin" ]; then
update_profile $HOME/.profile || update_profile $HOME/.bash_profile
fi
if [ "$?" != "0" ]; then
echo 'Unable to locate profile settings file'
echo
echo " You will have to manually add the following line:"
echo
echo " $source_line"
echo
fi
echo "export GVM_ROOT=$GVM_DEST/$GVM_NAME" > $GVM_DEST/$GVM_NAME/scripts/gvm
echo ". \$GVM_ROOT/scripts/gvm-default" >> $GVM_DEST/$GVM_NAME/scripts/gvm
[[ -s "$GVM_DEST/$GVM_NAME/scripts/gvm" ]] && source "$GVM_DEST/$GVM_NAME/scripts/gvm"
echo "Installed GVM v${GVM_VERSION}"
echo
echo "Please restart your terminal session or to get started right away run"
echo " \`source ${source_file}\`"
echo