1
0
mirror of https://github.com/gluster/glusterd2.git synced 2026-02-05 12:45:38 +01:00
Files
glusterd2/scripts/install-reqs.sh
2018-09-03 09:49:00 +05:30

99 lines
2.6 KiB
Bash
Executable File

#!/bin/bash
TAR="tar"
GOPATH=$(go env GOPATH)
GOBINDIR=$GOPATH/bin
install_tools_darwin() {
type brew >/dev/null 2>&1
if [ $? -eq 0 ]; then
echo "brew is already installed"
else
echo "Installing brew."
mkdir homebrew && curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
fi
type gtar >/dev/null 2>&1
if [ $? -eq 0 ]; then
echo "gnu-tar (gtar) is already installed"
else
echo "Installing gnu-tar."
brew install gnu-tar
fi
TAR="gtar"
}
bootstrap_platform() {
case "$OSTYPE" in
solaris*) echo "SOLARIS" ;;
darwin*) echo "OSX" ; install_tools_darwin ;;
linux*) echo "LINUX" ;;
bsd*) echo "BSD" ;;
msys*) echo "WINDOWS" ;;
*) echo "unknown: $OSTYPE" ;;
esac
}
install_dep() {
DEPVER="v0.5.0"
DEPURL="https://github.com/golang/dep/releases/download/${DEPVER}/dep-linux-amd64"
type dep >/dev/null 2>&1
if [ $? -eq 0 ]; then
local version
version=$(dep version | awk '/^ version/{print $3}')
if [[ $version == "$DEPVER" || $version > $DEPVER ]]; then
echo "dep ${DEPVER} or greater is already installed"
return
fi
fi
echo "Installing dep. Version: ${DEPVER}"
DEPBIN=$GOPATH/bin/dep
curl -L -o "$DEPBIN" $DEPURL
chmod +x "$DEPBIN"
}
install_gometalinter() {
LINTER_VER="2.0.5"
LINTER_TARBALL="gometalinter-${LINTER_VER}-linux-amd64.tar.gz"
LINTER_URL="https://github.com/alecthomas/gometalinter/releases/download/v${LINTER_VER}/${LINTER_TARBALL}"
type gometalinter >/dev/null 2>&1
if [ $? -eq 0 ]; then
echo "gometalinter already installed"
return
fi
echo "Installing gometalinter. Version: ${LINTER_VER}"
curl -L -o "$GOBINDIR/$LINTER_TARBALL" $LINTER_URL
$TAR -zxf "$GOBINDIR/$LINTER_TARBALL" --overwrite --strip-components 1 --exclude={COPYING,*.md} -C "$GOBINDIR"
rm -f "$GOBINDIR/$LINTER_TARBALL"
}
install_etcd() {
ETCD_VER="v3.3.9"
ETCD_TARBALL="etcd-${ETCD_VER}-linux-amd64.tar.gz"
ETCD_URL="https://github.com/coreos/etcd/releases/download/${ETCD_VER}/${ETCD_TARBALL}"
type etcd >/dev/null 2>&1
if [ $? -eq 0 ]; then
local version
version=$(etcd --version | awk '/^etcd Version/{print $3}')
if [[ $version == "$ETCD_VER" || $version > $ETCD_VER ]]; then
echo "etcd ${ETCD_VER} or greater is already installed"
return
fi
fi
echo "Installing etcd. Version: ${ETCD_VER}"
curl -L -o "$GOBINDIR/$ETCD_TARBALL" $ETCD_URL
$TAR -zxf "$GOBINDIR/$ETCD_TARBALL" --overwrite --strip-components 1 -C "$GOBINDIR" --wildcards --no-anchored {etcd,etcdctl}
rm -f "$GOBINDIR/$ETCD_TARBALL"
}
bootstrap_platform
install_dep
install_gometalinter
install_etcd