diff --git a/build.sh b/build.sh index aaaea87c0..b4a79fe28 100755 --- a/build.sh +++ b/build.sh @@ -2,7 +2,6 @@ set -euo pipefail IFS=$'\n\t' -DOCKERIMGV=1.4.1-1 STTRACE=${STTRACE:-} case "${1:-default}" in @@ -103,16 +102,12 @@ case "${1:-default}" in fi ;; - docker-init) - docker build -q -t syncthing/build:$DOCKERIMGV docker - ;; - docker-all) docker run --rm -h syncthing-builder -u $(id -u) -t \ -v $(pwd):/go/src/github.com/syncthing/syncthing \ -w /go/src/github.com/syncthing/syncthing \ -e "STTRACE=$STTRACE" \ - syncthing/build:$DOCKERIMGV \ + syncthing/build:latest \ sh -c './build.sh clean \ && go vet ./cmd/... ./internal/... \ && ( golint ./cmd/... ; golint ./internal/... ) | egrep -v "comment on exported|should have comment" \ @@ -125,7 +120,7 @@ case "${1:-default}" in -v $(pwd):/go/src/github.com/syncthing/syncthing \ -w /go/src/github.com/syncthing/syncthing \ -e "STTRACE=$STTRACE" \ - syncthing/build:$DOCKERIMGV \ + syncthing/build:latest \ sh -euxc './build.sh clean \ && go run build.go -race \ && export GOPATH=$(pwd)/Godeps/_workspace:$GOPATH \ diff --git a/docker/Dockerfile b/docker/Dockerfile deleted file mode 100644 index dfb5143a8..000000000 --- a/docker/Dockerfile +++ /dev/null @@ -1,75 +0,0 @@ -FROM debian:squeeze -MAINTAINER Jakob Borg - -ENV GOLANG_VERSION 1.4.1 - -# SCMs for "go get", gcc for cgo -RUN apt-get update && apt-get install -y \ - ca-certificates curl gcc libc6-dev make \ - bzr git mercurial unzip patch \ - --no-install-recommends \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -# Get the binary dist of Go to be able to bootstrap gonative. - -RUN curl -sSL https://golang.org/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz \ - | tar -v -C /usr/local -xz - -ENV PATH /usr/local/go/bin:$PATH -ENV GOPATH /go -ENV GO386 387 -ENV GOARM 5 -ENV PATH /go/bin:$PATH - -RUN mkdir /go -WORKDIR /go - -# Use gonative to install native Go for most arch/OS combos - -RUN go get github.com/calmh/gonative \ - && cd /usr/local \ - && rm -rf go \ - && gonative -version $GOLANG_VERSION - -# Rebuild the special and missing versions, using patches as appropriate - -# RUN mkdir /tmp/patches -# ADD *.patch /tmp/patches/ -# RUN bash -xec '\ -# cd /usr/local/go ; \ -# for patch in /tmp/patches/*.patch ; do \ -# patch -p0 < "$patch" ; \ -# done \ -# ' - -RUN bash -xec '\ - cd /usr/local/go/src; \ - for platform in linux/386 freebsd/386 windows/386 linux/arm openbsd/amd64 openbsd/386; do \ - GOOS=${platform%/*} \ - GOARCH=${platform##*/} \ - CGO_ENABLED=0 \ - ./make.bash --no-clean 2>&1; \ - done \ - && ./make.bash --no-clean \ - ' - -# Install packages needed for test coverage - -RUN go get github.com/tools/godep \ - && go get golang.org/x/tools/cmd/cover \ - && go get github.com/axw/gocov/gocov \ - && go get github.com/AlekSi/gocov-xml - -# Install tools "go vet" and "golint" - -RUN go get golang.org/x/tools/cmd/vet \ - && go get github.com/golang/lint/golint - -# Build standard library for race - -RUN go install -race std - -# Random build users needs to be able to create stuff in /go - -RUN chmod -R 777 /go/bin /go/pkg /go/src diff --git a/docker/README.md b/docker/README.md deleted file mode 100644 index b35009b8e..000000000 --- a/docker/README.md +++ /dev/null @@ -1,29 +0,0 @@ -Docker Build -============ - -Official builds are produced using a Docker image specified by the -Dockerfile in this directory. The following commands exactly reproduce -the official build process. - -Create an image called `syncthing/build` with the build environment. - -``` -./build.sh docker-init -``` - -> This is a Debian based image containing the latest stable version of -> Go set up for cross compilation. The cross compilation uses the -> dynamically linked standard libraries and SSE instructions for amd64 -> builds, but static linking and minimal instruction set for the 386 and -> arm builds. The command should be run in the main repo directory, as a -> user with permission to perform Docker operations. - -Build the full set of supported binaries. - -``` -./build.sh docker-all -``` - -> This uses a temporary container with the image from above and a volume -> mapped to the directory containing the source. Tests are run and -> binary packages created.