diff --git a/build-go.sh b/build-go.sh index b70d6e3..c126e51 100755 --- a/build-go.sh +++ b/build-go.sh @@ -6,34 +6,36 @@ if [ ${EUID} -ne 0 ]; then exit 1 fi -GITHUB="https://github.com/golang/go/archive/" +INSTALL="/usr/local" +GITHUB="https://github.com/golang/go/archive" V14="go1.4.3" +bootstrap="${INSTALL}/bootstrap-${V14}" TGZ14="${V14}.tar.gz" -Vnew="go1.7.4" +Vnew="go1.8" TGZnew="${Vnew}.tar.gz" -INSTALL="/usr/local" +rm -rf ${INSTALL}/go* -cd ${INSTALL} +if [ ! -d "${bootstrap}" ]; then + wget -q ${GITHUB}/${TGZ14} -O ${INSTALL}/${TGZ14} + tar xfz ${INSTALL}/${TGZ14} -C ${INSTALL} + mv ${INSTALL}/go-${V14} ${bootstrap} +fi -rm -rf go* - -wget -q ${GITHUB}${TGZ14} -tar xfz ${TGZ14} -mv go-${V14} ${V14} - -wget -q ${GITHUB}${TGZnew} -tar xfz ${TGZnew} -mv go-${Vnew} ${Vnew} +wget -q ${GITHUB}/${TGZnew} -O ${INSTALL}/${TGZnew} +tar xfz ${INSTALL}/${TGZnew} -C ${INSTALL} +mv ${INSTALL}/go-${Vnew} ${INSTALL}/${Vnew} export CGO_ENABLED=0 -cd ${INSTALL}/${V14}/src -./make.bash &> /dev/null +if [ ! -x "${bootstrap}/bin/go" ]; then + cd ${bootstrap}/src + ./make.bash &> /dev/null +fi -export GOROOT_BOOTSTRAP=${INSTALL}/${V14} +export GOROOT_BOOTSTRAP=${bootstrap} if [ "$(uname -m)" == "x86_64" ]; then export GOARCH=amd64 @@ -44,10 +46,9 @@ fi cd ${INSTALL}/${Vnew}/src ./make.bash &> /dev/null -cd ${INSTALL} -rm -rf go -mv ${Vnew} go -ln -s /usr/local/go /usr/local/go${Vnew} +rm -rf ${INSTALL}/go +mv ${INSTALL}/${Vnew} ${INSTALL}/go +#ln -s ${INSTALL}/go ${INSTALL}/${Vnew} export GOROOT=${INSTALL}/go export PATH=${PATH}:${GOROOT}/bin:~/go/bin