some improvements

This commit is contained in:
ston1th 2019-08-20 20:38:28 +02:00
commit d4c169aaa6
3 changed files with 66 additions and 59 deletions

View file

@ -1,56 +1,62 @@
#!/bin/bash
set -e
if [ ${EUID} -ne 0 ]; then
echo "error: this script must be run as root" 1>&2
set -x
if [ $(id -u) -ne 0 ]; then
echo "error: this script must be run as root">&2
exit 1
fi
INSTALL="/usr/local"
GITHUB="https://github.com/golang/go/archive"
install_dir="/usr/local"
go_dir="${install_dir}/go"
url="https://github.com/golang/go/archive"
V14="go1.4.3"
bootstrap="${INSTALL}/bootstrap-${V14}"
TGZ14="${V14}.tar.gz"
v14="go1.4.3"
v14_sum="65e8d2ea08447f02f8b6ab63778e4d98586ac4fd676401dae0eda494c7829965"
bootstrap="${install_dir}/bootstrap-${v14}"
tgz14="${v14}.tar.gz"
path_v14="${install_dir}/${tgz14}"
Vnew="go1.12.4"
TGZnew="${Vnew}.tar.gz"
new="go1.12.9"
new_sum="c31433aa0bb01856c812d40a91336e25cbce2e50800eb9fe88a7adf0305f1a5b"
tgznew="${new}.tar.gz"
path_new="${install_dir}/${tgznew}"
rm -rf ${INSTALL}/go*
rm -rf ${go_dir}
if [ ! -d "${bootstrap}" ]; then
wget -q ${GITHUB}/${TGZ14} -O ${INSTALL}/${TGZ14}
tar xfz ${INSTALL}/${TGZ14} -C ${INSTALL}
mv ${INSTALL}/go-${V14} ${bootstrap}
if [[ ! -d "${bootstrap}" ]]; then
wget -q ${url}/${tgz14} -O ${path_v14}
if [[ "$(sha256sum ${path_v14}|cut -d" " -f1)" != "${v14_sum}" ]]; then
echo "error: wrong checksum: ${path_v14}">&2
exit 1
fi
tar xfz ${path_v14} -C ${install_dir}
mv ${install_dir}/go-${v14} ${bootstrap}
fi
wget -q ${GITHUB}/${TGZnew} -O ${INSTALL}/${TGZnew}
tar xfz ${INSTALL}/${TGZnew} -C ${INSTALL}
mv ${INSTALL}/go-${Vnew} ${INSTALL}/${Vnew}
wget -q ${url}/${tgznew} -O ${path_new}
if [[ "$(sha256sum ${path_new}|cut -d" " -f1)" != "${new_sum}" ]]; then
echo "error: wrong checksum: ${path_new}">&2
exit 1
fi
tar xfz ${path_new} -C ${install_dir}
mv ${install_dir}/go-${new} ${go_dir}
export CGO_ENABLED=0
if [ ! -x "${bootstrap}/bin/go" ]; then
if [[ ! -x "${bootstrap}/bin/go" ]]; then
cd ${bootstrap}/src
./make.bash &> /dev/null
fi
export GOROOT_BOOTSTRAP=${bootstrap}
if [ "$(uname -m)" == "x86_64" ]; then
export GOARCH=amd64
else
export GOARCH=386
fi
[[ "$(uname -m)" == "x86_64" ]] && export GOARCH=amd64 || export GOARCH=386
cd ${INSTALL}/${Vnew}/src
cd ${go_dir}/src
./make.bash &> /dev/null
rm -rf ${INSTALL}/go
mv ${INSTALL}/${Vnew} ${INSTALL}/go
#ln -s ${INSTALL}/go ${INSTALL}/${Vnew}
export GOROOT=${INSTALL}/go
export GOROOT=${go_dir}
export PATH=${PATH}:${GOROOT}/bin:~/go/bin
cat <<EOF
@ -59,6 +65,7 @@ add this to your .bashrc/.profile:
export CGO_ENABLED=${CGO_ENABLED}
export GOPATH=~/go
export GOROOT=${GOROOT}
export GO111MODULE=on
export PATH=\${PATH}:${GOROOT}:~/go/bin
EOF