Browse Source

Use syncthing/build:latest for building

Jakob Borg 10 years ago
parent
commit
35d3af5039
3 changed files with 2 additions and 111 deletions
  1. 2 7
      build.sh
  2. 0 75
      docker/Dockerfile
  3. 0 29
      docker/README.md

+ 2 - 7
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 \

+ 0 - 75
docker/Dockerfile

@@ -1,75 +0,0 @@
-FROM debian:squeeze
-MAINTAINER Jakob Borg <[email protected]>
-
-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

+ 0 - 29
docker/README.md

@@ -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.