From caca81426c40bd592bcfcde80485af80faedeb31 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Wed, 17 Jul 2019 21:20:04 -0700 Subject: [PATCH] Add "buster" for 1.11 and 1.12 --- .travis.yml | 4 +++ 1.11/buster/Dockerfile | 50 +++++++++++++++++++++++++++++++++++ 1.12/buster/Dockerfile | 50 +++++++++++++++++++++++++++++++++++ generate-stackbrew-library.sh | 4 +-- 4 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 1.11/buster/Dockerfile create mode 100644 1.12/buster/Dockerfile diff --git a/.travis.yml b/.travis.yml index 92126d62..bfaafb29 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,6 +13,8 @@ matrix: - os: windows dist: 1803-containers env: VERSION=1.12 VARIANT=windows/windowsservercore-1803 + - os: linux + env: VERSION=1.12 VARIANT=buster - os: linux env: VERSION=1.12 VARIANT=stretch - os: linux @@ -22,6 +24,8 @@ matrix: - os: windows dist: 1803-containers env: VERSION=1.11 VARIANT=windows/windowsservercore-1803 + - os: linux + env: VERSION=1.11 VARIANT=buster - os: linux env: VERSION=1.11 VARIANT=stretch - os: linux diff --git a/1.11/buster/Dockerfile b/1.11/buster/Dockerfile new file mode 100644 index 00000000..e165309c --- /dev/null +++ b/1.11/buster/Dockerfile @@ -0,0 +1,50 @@ +FROM buildpack-deps:buster-scm + +# gcc for cgo +RUN apt-get update && apt-get install -y --no-install-recommends \ + g++ \ + gcc \ + libc6-dev \ + make \ + pkg-config \ + && rm -rf /var/lib/apt/lists/* + +ENV GOLANG_VERSION 1.11.12 + +RUN set -eux; \ + \ +# this "case" statement is generated via "update.sh" + dpkgArch="$(dpkg --print-architecture)"; \ + case "${dpkgArch##*-}" in \ + amd64) goRelArch='linux-amd64'; goRelSha256='14ec881815eb9e6618f95df5eb385d961283efc196d97912595ba6484a56180d' ;; \ + armhf) goRelArch='linux-armv6l'; goRelSha256='5ffe422dc054909da4e468cb0df6e2cd41cebfe4fd9515f32bb3e3fbfc416016' ;; \ + arm64) goRelArch='linux-arm64'; goRelSha256='d79c075773fc3121d0e719b83b46115efff685ade94545a52f3ac22f43d76196' ;; \ + i386) goRelArch='linux-386'; goRelSha256='8467e68d6ed6f6a95c6db6a1e352fc529f256bba0955eaef472e50cf4c0cba61' ;; \ + ppc64el) goRelArch='linux-ppc64le'; goRelSha256='92bd4dc0dc8227fb22ad88545dd72669923019760cd640d4cca189860870561a' ;; \ + s390x) goRelArch='linux-s390x'; goRelSha256='a4d100a1c92e50fd9b8a4d529da0ef0f4509c72643d6fb481918fd543f5871c0' ;; \ + *) goRelArch='src'; goRelSha256='6d7a5ba05476609a7614af3292f29c3be06327503c1f1fdc02ef417870fd6926'; \ + echo >&2; echo >&2 "warning: current architecture ($dpkgArch) does not have a corresponding Go binary release; will be building from source"; echo >&2 ;; \ + esac; \ + \ + url="https://golang.org/dl/go${GOLANG_VERSION}.${goRelArch}.tar.gz"; \ + wget -O go.tgz "$url"; \ + echo "${goRelSha256} *go.tgz" | sha256sum -c -; \ + tar -C /usr/local -xzf go.tgz; \ + rm go.tgz; \ + \ + if [ "$goRelArch" = 'src' ]; then \ + echo >&2; \ + echo >&2 'error: UNIMPLEMENTED'; \ + echo >&2 'TODO install golang-any from jessie-backports for GOROOT_BOOTSTRAP (and uninstall after build)'; \ + echo >&2; \ + exit 1; \ + fi; \ + \ + 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 diff --git a/1.12/buster/Dockerfile b/1.12/buster/Dockerfile new file mode 100644 index 00000000..91878a37 --- /dev/null +++ b/1.12/buster/Dockerfile @@ -0,0 +1,50 @@ +FROM buildpack-deps:buster-scm + +# gcc for cgo +RUN apt-get update && apt-get install -y --no-install-recommends \ + g++ \ + gcc \ + libc6-dev \ + make \ + pkg-config \ + && rm -rf /var/lib/apt/lists/* + +ENV GOLANG_VERSION 1.12.7 + +RUN set -eux; \ + \ +# this "case" statement is generated via "update.sh" + dpkgArch="$(dpkg --print-architecture)"; \ + case "${dpkgArch##*-}" in \ + amd64) goRelArch='linux-amd64'; goRelSha256='66d83bfb5a9ede000e33c6579a91a29e6b101829ad41fffb5c5bb6c900e109d9' ;; \ + armhf) goRelArch='linux-armv6l'; goRelSha256='48edbe936e9eb74f259bfc4b621fafca4d4ec43156b4ee7bd0d979f257dcd60a' ;; \ + arm64) goRelArch='linux-arm64'; goRelSha256='4da1f7198a8fa0c4067852656b6c10153a4eca5a26aca28ef02ae9f4a7939ba5' ;; \ + i386) goRelArch='linux-386'; goRelSha256='ae2424b7ff557a708be12d3141f25b645966489ca49af1ad10b4fbe4c97d4c41' ;; \ + ppc64el) goRelArch='linux-ppc64le'; goRelSha256='8eda20600d90247efbfa70d116d80056e11192d62592240975b2a8c53caa5bf3' ;; \ + s390x) goRelArch='linux-s390x'; goRelSha256='3374ac3d646555e50be790091b51849319cfcb176904048458c7f4252337fce8' ;; \ + *) goRelArch='src'; goRelSha256='95e8447d6f04b8d6a62de1726defbb20ab203208ee167ed15f83d7978ce43b13'; \ + echo >&2; echo >&2 "warning: current architecture ($dpkgArch) does not have a corresponding Go binary release; will be building from source"; echo >&2 ;; \ + esac; \ + \ + url="https://golang.org/dl/go${GOLANG_VERSION}.${goRelArch}.tar.gz"; \ + wget -O go.tgz "$url"; \ + echo "${goRelSha256} *go.tgz" | sha256sum -c -; \ + tar -C /usr/local -xzf go.tgz; \ + rm go.tgz; \ + \ + if [ "$goRelArch" = 'src' ]; then \ + echo >&2; \ + echo >&2 'error: UNIMPLEMENTED'; \ + echo >&2 'TODO install golang-any from jessie-backports for GOROOT_BOOTSTRAP (and uninstall after build)'; \ + echo >&2; \ + exit 1; \ + fi; \ + \ + 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 diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index a4078e51..e385d019 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -6,9 +6,9 @@ declare -A aliases=( [1.13-rc]='rc' ) -defaultDebianSuite='stretch' # TODO buster +defaultDebianSuite='buster' declare -A debianSuite=( - [1.13-rc]='buster' + #[1.13-rc]='buster' ) defaultAlpineVersion='3.10' declare -A alpineVersion=(