Merge pull request #3084 from tylert/vagrant-install-go-binary

Install go binary and make sure it's in the path for vagrant
This commit is contained in:
Chris Bednarski 2016-01-20 09:13:57 -08:00
commit 1b1d0f12e9
1 changed files with 19 additions and 14 deletions

33
Vagrantfile vendored
View File

@ -2,30 +2,35 @@
# vi: set ft=ruby :
$script = <<SCRIPT
SRCROOT="/opt/go"
# Fetch from https://golang.org/dl
TARBALL="https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz"
UNTARPATH="/opt"
GOROOT="${UNTARPATH}/go"
GOPATH="${UNTARPATH}/gopath"
# Install Go
sudo apt-get update
sudo apt-get install -y build-essential mercurial
sudo hg clone -u release https://code.google.com/p/go ${SRCROOT}
cd ${SRCROOT}/src
sudo ./all.bash
if [ ! -d ${GOROOT} ]; then
sudo wget --progress=bar:force --output-document - ${TARBALL} |\
tar xfz - -C ${UNTARPATH}
fi
# Setup the GOPATH
sudo mkdir -p /opt/gopath
sudo mkdir -p ${GOPATH}
cat <<EOF >/tmp/gopath.sh
export GOPATH="/opt/gopath"
export PATH="/opt/go/bin:\$GOPATH/bin:\$PATH"
export GOROOT="${GOROOT}"
export GOPATH="${GOPATH}"
export PATH="${GOROOT}/bin:${GOPATH}/bin:\$PATH"
EOF
sudo mv /tmp/gopath.sh /etc/profile.d/gopath.sh
sudo chmod 0755 /etc/profile.d/gopath.sh
# Make sure the gopath is usable by vagrant
sudo chown -R vagrant:vagrant $SRCROOT
sudo chown -R vagrant:vagrant /opt/gopath
# Make sure the GOPATH is usable by vagrant
sudo chown -R vagrant:vagrant ${GOROOT}
sudo chown -R vagrant:vagrant ${GOPATH}
# Install some other stuff we need
sudo apt-get install -y curl git bzr zip
sudo apt-get update
sudo apt-get install -y curl make git mercurial bzr zip
SCRIPT
Vagrant.configure(2) do |config|