瀏覽代碼

update to binaries, fix parsers package, non-parallel test unit

Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Jessica Frazelle 9 年之前
父節點
當前提交
9bcbb39fa8
共有 3 個文件被更改,包括 14 次插入21 次删除
  1. 1 14
      Dockerfile
  2. 1 1
      hack/make/binary
  3. 12 6
      pkg/parsers/parsers.go

+ 1 - 14
Dockerfile

@@ -84,15 +84,9 @@ RUN cd /usr/src/lxc \
 
 # Install Go
 ENV GO_VERSION 1.5.1
-RUN curl -sSL https://golang.org/dl/go1.4.3.src.tar.gz | tar -v -C /usr/local -xz \
-	&& cd /usr/local/ && mv go go1.4.3
-RUN cd /usr/local/go1.4.3/src/ && ./make.bash
-ENV GOROOT_BOOTSTRAP /usr/local/go1.4.3
-RUN curl -sSL https://golang.org/dl/go${GO_VERSION}.src.tar.gz | tar -v -C /usr/local -xz \
-	&& mkdir -p /go/bin
+RUN curl -sSL  "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar -v -C /usr/local -xz
 ENV PATH /go/bin:/usr/local/go/bin:$PATH
 ENV GOPATH /go:/go/src/github.com/docker/docker/vendor
-RUN cd /usr/local/go/src && ./make.bash --no-clean 2>&1
 
 # Compile Go for cross compilation
 ENV DOCKER_CROSSPLATFORMS \
@@ -103,13 +97,6 @@ ENV DOCKER_CROSSPLATFORMS \
 
 # (set an explicit GOARM of 5 for maximum compatibility)
 ENV GOARM 5
-RUN cd /usr/local/go/src \
-	&& set -x \
-	&& for platform in $DOCKER_CROSSPLATFORMS; do \
-		GOOS=${platform%/*} \
-		GOARCH=${platform##*/} \
-			./make.bash --no-clean 2>&1; \
-	done
 
 # This has been commented out and kept as reference because we don't support compiling with older Go anymore.
 # ENV GOFMT_VERSION 1.3.3

+ 1 - 1
hack/make/binary

@@ -14,7 +14,7 @@ if [ "$(go env GOOS)/$(go env GOARCH)" != "$(go env GOHOSTOS)/$(go env GOHOSTARC
 		windows/amd64)
 			export CC=x86_64-w64-mingw32-gcc
 			export CGO_ENABLED=1
-			export LDFLAGS_STATIC_DOCKER="${LDFLAGS_STATIC_DOCKER/-linkmode external/} -extld=${CC}"
+			export LDFLAGS_STATIC_DOCKER="${LDFLAGS_STATIC_DOCKER/-linkmode external/-linkmode internal} -extld=${CC}"
 			;;
 	esac
 fi

+ 12 - 6
pkg/parsers/parsers.go

@@ -74,20 +74,26 @@ func ParseTCPAddr(tryAddr string, defaultAddr string) (string, error) {
 		return "", fmt.Errorf("Invalid proto, expected tcp: %s", tryAddr)
 	}
 
-	u, err := url.Parse("tcp://" + addr)
+	defaultAddr = strings.TrimPrefix(defaultAddr, "tcp://")
+	defaultHost, defaultPort, err := net.SplitHostPort(defaultAddr)
 	if err != nil {
 		return "", err
 	}
+	// url.Parse fails for trailing colon on IPv6 brackets on Go 1.5, but
+	// not 1.4. See https://github.com/golang/go/issues/12200 and
+	// https://github.com/golang/go/issues/6530.
+	if strings.HasSuffix(addr, "]:") {
+		addr += defaultPort
+	}
 
-	host, port, err := net.SplitHostPort(u.Host)
+	u, err := url.Parse("tcp://" + addr)
 	if err != nil {
-		return "", fmt.Errorf("Invalid bind address format: %s", tryAddr)
+		return "", err
 	}
 
-	defaultAddr = strings.TrimPrefix(defaultAddr, "tcp://")
-	defaultHost, defaultPort, err := net.SplitHostPort(defaultAddr)
+	host, port, err := net.SplitHostPort(u.Host)
 	if err != nil {
-		return "", err
+		return "", fmt.Errorf("Invalid bind address format: %s", tryAddr)
 	}
 
 	if host == "" {