diff --git a/.travis.yml b/.travis.yml index 36f23538..431d1ed9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,6 @@ env: - VERSION=1.9 VARIANT=stretch - VERSION=1.9 VARIANT=alpine3.8 - VERSION=1.9 VARIANT=alpine3.7 - - VERSION=1.9 VARIANT=alpine3.6 - VERSION=1.11-rc VARIANT=stretch - VERSION=1.11-rc VARIANT=alpine3.8 - VERSION=1.11-rc VARIANT=alpine3.7 diff --git a/1.9/alpine3.6/Dockerfile b/1.9/alpine3.6/Dockerfile deleted file mode 100644 index 7e478d96..00000000 --- a/1.9/alpine3.6/Dockerfile +++ /dev/null @@ -1,66 +0,0 @@ -FROM alpine:3.6 - -RUN apk add --no-cache \ - ca-certificates - -# set up nsswitch.conf for Go's "netgo" implementation -# - https://github.com/golang/go/blob/go1.9.1/src/net/conf.go#L194-L275 -# - docker run --rm debian:stretch grep '^hosts:' /etc/nsswitch.conf -RUN [ ! -e /etc/nsswitch.conf ] && echo 'hosts: files dns' > /etc/nsswitch.conf - -ENV GOLANG_VERSION 1.9.7 - -# make-sure-R0-is-zero-before-main-on-ppc64le.patch: https://github.com/golang/go/commit/9aea0e89b6df032c29d0add8d69ba2c95f1106d9 (Go 1.9) -COPY *.patch /go-alpine-patches/ - -RUN set -eux; \ - apk add --no-cache --virtual .build-deps \ - bash \ - gcc \ - musl-dev \ - openssl \ - go \ - ; \ - export \ -# set GOROOT_BOOTSTRAP such that we can actually build Go - GOROOT_BOOTSTRAP="$(go env GOROOT)" \ -# ... and set "cross-building" related vars to the installed system's values so that we create a build targeting the proper arch -# (for example, if our build host is GOARCH=amd64, but our build env/image is GOARCH=386, our build needs GOARCH=386) - GOOS="$(go env GOOS)" \ - GOARCH="$(go env GOARCH)" \ - GOHOSTOS="$(go env GOHOSTOS)" \ - GOHOSTARCH="$(go env GOHOSTARCH)" \ - ; \ -# also explicitly set GO386 and GOARM if appropriate -# https://github.com/docker-library/golang/issues/184 - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - armhf) export GOARM='6' ;; \ - x86) export GO386='387' ;; \ - esac; \ - \ - wget -O go.tgz "https://golang.org/dl/go$GOLANG_VERSION.src.tar.gz"; \ - echo '582814fa45e8ecb0859a208e517b48aa0ad951e3b36c7fff203d834e0ef27722 *go.tgz' | sha256sum -c -; \ - tar -C /usr/local -xzf go.tgz; \ - rm go.tgz; \ - \ - cd /usr/local/go/src; \ - for p in /go-alpine-patches/*.patch; do \ - [ -f "$p" ] || continue; \ - patch -p2 -i "$p"; \ - done; \ - ./make.bash; \ - \ - rm -rf /go-alpine-patches; \ - apk del .build-deps; \ - \ - export PATH="/usr/local/go/bin:$PATH"; \ - go version - -ENV GOPATH /go -ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH - -RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH" -WORKDIR $GOPATH - -COPY go-wrapper /usr/local/bin/ diff --git a/1.9/alpine3.6/go-wrapper b/1.9/alpine3.6/go-wrapper deleted file mode 100755 index f722bad1..00000000 --- a/1.9/alpine3.6/go-wrapper +++ /dev/null @@ -1,97 +0,0 @@ -#!/bin/sh -set -e - -usage() { - base="$(basename "$0")" - cat <&2 - exit 1 -fi -# "shift" so that "$@" becomes the remaining arguments and can be passed along to other "go" subcommands easily -cmd="$1" -shift - -goDir="$(go list -e -f '{{.ImportComment}}' 2>/dev/null || true)" - -if [ -z "$goDir" -a -s .godir ]; then - goDir="$(cat .godir)" -fi - -dir="$(pwd -P)" -if [ "$goDir" ]; then - goPath="${GOPATH%%:*}" # this just grabs the first path listed in GOPATH, if there are multiple (which is the detection logic "go get" itself uses, too) - goDirPath="$goPath/src/$goDir" - mkdir -p "$(dirname "$goDirPath")" - if [ ! -e "$goDirPath" ]; then - ln -sfv "$dir" "$goDirPath" - elif [ ! -L "$goDirPath" ]; then - echo >&2 "error: $goDirPath already exists but is unexpectedly not a symlink!" - exit 1 - fi - goBin="$goPath/bin/$(basename "$goDir")" -else - goBin="$(basename "$dir")" # likely "app" -fi - -case "$cmd" in - download) - set -- go get -v -d "$@" - if [ "$goDir" ]; then set -- "$@" "$goDir"; fi - set -x; exec "$@" - ;; - - install) - set -- go install -v "$@" - if [ "$goDir" ]; then set -- "$@" "$goDir"; fi - set -x; exec "$@" - ;; - - run) - set -x; exec "$goBin" "$@" - ;; - - *) - echo >&2 'error: unknown command:' "$cmd" - usage >&2 - exit 1 - ;; -esac diff --git a/1.9/alpine3.6/make-sure-R0-is-zero-before-main-on-ppc64le.patch b/1.9/alpine3.6/make-sure-R0-is-zero-before-main-on-ppc64le.patch deleted file mode 100644 index 88f88771..00000000 --- a/1.9/alpine3.6/make-sure-R0-is-zero-before-main-on-ppc64le.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 9aea0e89b6df032c29d0add8d69ba2c95f1106d9 Mon Sep 17 00:00:00 2001 -From: Carlos Eduardo Seo -Date: Thu, 10 Aug 2017 14:48:36 -0300 -Subject: [PATCH] runtime: make sure R0 is zero before _main on ppc64le - -_main has an early check to verify if a binary is statically or dynamically -linked that depends on R0 being zero. R0 is not guaranteed to be zero at that -point and this was breaking Go on Alpine for ppc64le. - -Change-Id: I4a1059ff7fd3db6fc489e7dcfe631c1814dd965b -Reviewed-on: https://go-review.googlesource.com/54730 -Run-TryBot: Lynn Boger -Reviewed-by: Lynn Boger ---- - src/runtime/rt0_linux_ppc64le.s | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/runtime/rt0_linux_ppc64le.s b/src/runtime/rt0_linux_ppc64le.s -index 134858bff8..73b9ae392d 100644 ---- a/src/runtime/rt0_linux_ppc64le.s -+++ b/src/runtime/rt0_linux_ppc64le.s -@@ -2,6 +2,7 @@ - #include "textflag.h" - - TEXT _rt0_ppc64le_linux(SB),NOSPLIT,$0 -+ XOR R0, R0 // Make sure R0 is zero before _main - BR _main<>(SB) - - TEXT _rt0_ppc64le_linux_lib(SB),NOSPLIT,$-8 --- -2.14.1 - diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index 0aff04d9..e4cd9600 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -11,7 +11,7 @@ declare -A debianSuite=( ) defaultAlpineVersion='3.8' declare -A alpineVersion=( - [1.9]='3.6' + #[1.9]='3.7' ) self="$(basename "$BASH_SOURCE")" @@ -72,7 +72,7 @@ for version in "${versions[@]}"; do ) for v in \ - stretch alpine3.{8,7,6} \ + stretch alpine3.{8,7} \ windows/windowsservercore-{ltsc2016,1709,1803} \ windows/nanoserver-{sac2016,1709,1803} \ ; do diff --git a/update.sh b/update.sh index b5bb0c18..8a437d50 100755 --- a/update.sh +++ b/update.sh @@ -84,7 +84,7 @@ for version in "${versions[@]}"; do windowsSha256="$(curl -fsSL "https://storage.googleapis.com/golang/go${fullVersion}.windows-amd64.zip.sha256")" for variant in \ - alpine3.{6,7,8} \ + alpine3.{7,8} \ stretch \ ; do if [ -d "$version/$variant" ]; then