2015-11-19 13:10:51 +00:00
|
|
|
#!/bin/bash
|
|
|
|
#
|
|
|
|
# Contains the Go tool-chain source repository bootstrapper, that builds and
|
|
|
|
# bootstraps a Go environment from the official GitHub repository, opposed to
|
|
|
|
# using pre-build packages.
|
|
|
|
#
|
|
|
|
# Usage: bootstrap_repo.sh <branch>
|
|
|
|
#
|
|
|
|
# Needed environment variables:
|
|
|
|
# FETCH - Remote file fetcher and checksum verifier (injected by image)
|
|
|
|
set -e
|
|
|
|
|
|
|
|
# Define the paths to deploy the bootstrapper and the final distribution
|
|
|
|
export GOROOT=/usr/local/go
|
|
|
|
export GOROOT_BOOTSTRAP=${GOROOT}-boot
|
|
|
|
|
|
|
|
# Download and install the Go bootstrap distribution
|
|
|
|
BOOT_DIST=https://storage.googleapis.com/golang/go1.4.3.linux-amd64.tar.gz
|
2016-01-14 10:14:59 +00:00
|
|
|
BOOT_DIST_SHA=332b64236d30a8805fc8dd8b3a269915b4c507fe
|
2015-11-19 13:10:51 +00:00
|
|
|
|
2016-01-14 10:14:59 +00:00
|
|
|
$FETCH $BOOT_DIST $BOOT_DIST_SHA
|
2015-11-19 13:10:51 +00:00
|
|
|
|
|
|
|
tar -C /usr/local -xzf `basename $BOOT_DIST`
|
|
|
|
rm -f `basename $BOOT_DIST`
|
|
|
|
mv $GOROOT $GOROOT_BOOTSTRAP
|
|
|
|
|
|
|
|
# Download, build and install the requesed Go sources
|
|
|
|
(cd /usr/local && git clone https://go.googlesource.com/go)
|
|
|
|
(cd $GOROOT && git checkout $1)
|
2015-12-14 11:53:54 +00:00
|
|
|
(cd $GOROOT/src && ./make.bash)
|
2015-11-19 13:10:51 +00:00
|
|
|
|
2015-12-14 11:53:54 +00:00
|
|
|
rm -rf $GOROOT_BOOTSTRAP
|
|
|
|
export GOROOT_BOOTSTRAP=$GOROOT
|
2015-11-19 13:10:51 +00:00
|
|
|
|
|
|
|
$BOOTSTRAP_PURE
|