From 42dcc4f3b5e0ddd2042a75c5d3f3c610d7e839c1 Mon Sep 17 00:00:00 2001 From: unclejack Date: Wed, 19 Aug 2015 22:16:20 +0300 Subject: [PATCH 1/2] Dockerfile: bump Go to 1.5 Signed-off-by: Cristian Staretu --- Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 766925b0db..e4302441fa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -83,7 +83,11 @@ RUN cd /usr/src/lxc \ && ldconfig # Install Go -ENV GO_VERSION 1.4.3 +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 ENV PATH /go/bin:/usr/local/go/bin:$PATH From 9bcbb39fa8b91ceb54c3da7b245e79b56de1cb6b Mon Sep 17 00:00:00 2001 From: Jessica Frazelle Date: Tue, 27 Oct 2015 12:56:57 -0700 Subject: [PATCH 2/2] update to binaries, fix parsers package, non-parallel test unit Signed-off-by: Jessica Frazelle --- Dockerfile | 15 +-------------- hack/make/binary | 2 +- pkg/parsers/parsers.go | 18 ++++++++++++------ 3 files changed, 14 insertions(+), 21 deletions(-) diff --git a/Dockerfile b/Dockerfile index e4302441fa..c73dee9606 100644 --- a/Dockerfile +++ b/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 diff --git a/hack/make/binary b/hack/make/binary index 7a3067fa48..80b4592df1 100644 --- a/hack/make/binary +++ b/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 diff --git a/pkg/parsers/parsers.go b/pkg/parsers/parsers.go index a604a9e12b..453cccfbad 100644 --- a/pkg/parsers/parsers.go +++ b/pkg/parsers/parsers.go @@ -74,6 +74,18 @@ func ParseTCPAddr(tryAddr string, defaultAddr string) (string, error) { return "", fmt.Errorf("Invalid proto, expected tcp: %s", tryAddr) } + 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 + } + u, err := url.Parse("tcp://" + addr) if err != nil { return "", err @@ -84,12 +96,6 @@ func ParseTCPAddr(tryAddr string, defaultAddr string) (string, error) { return "", fmt.Errorf("Invalid bind address format: %s", tryAddr) } - defaultAddr = strings.TrimPrefix(defaultAddr, "tcp://") - defaultHost, defaultPort, err := net.SplitHostPort(defaultAddr) - if err != nil { - return "", err - } - if host == "" { host = defaultHost }