Browse code

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

Signed-off-by: Jessica Frazelle <acidburn@docker.com>

Jessica Frazelle authored on 2015/10/28 04:56:57
Showing 3 changed files
... ...
@@ -84,15 +84,9 @@ RUN cd /usr/src/lxc \
84 84
 
85 85
 # Install Go
86 86
 ENV GO_VERSION 1.5.1
87
-RUN curl -sSL https://golang.org/dl/go1.4.3.src.tar.gz | tar -v -C /usr/local -xz \
88
-	&& cd /usr/local/ && mv go go1.4.3
89
-RUN cd /usr/local/go1.4.3/src/ && ./make.bash
90
-ENV GOROOT_BOOTSTRAP /usr/local/go1.4.3
91
-RUN curl -sSL https://golang.org/dl/go${GO_VERSION}.src.tar.gz | tar -v -C /usr/local -xz \
92
-	&& mkdir -p /go/bin
87
+RUN curl -sSL  "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar -v -C /usr/local -xz
93 88
 ENV PATH /go/bin:/usr/local/go/bin:$PATH
94 89
 ENV GOPATH /go:/go/src/github.com/docker/docker/vendor
95
-RUN cd /usr/local/go/src && ./make.bash --no-clean 2>&1
96 90
 
97 91
 # Compile Go for cross compilation
98 92
 ENV DOCKER_CROSSPLATFORMS \
... ...
@@ -103,13 +97,6 @@ ENV DOCKER_CROSSPLATFORMS \
103 103
 
104 104
 # (set an explicit GOARM of 5 for maximum compatibility)
105 105
 ENV GOARM 5
106
-RUN cd /usr/local/go/src \
107
-	&& set -x \
108
-	&& for platform in $DOCKER_CROSSPLATFORMS; do \
109
-		GOOS=${platform%/*} \
110
-		GOARCH=${platform##*/} \
111
-			./make.bash --no-clean 2>&1; \
112
-	done
113 106
 
114 107
 # This has been commented out and kept as reference because we don't support compiling with older Go anymore.
115 108
 # ENV GOFMT_VERSION 1.3.3
... ...
@@ -14,7 +14,7 @@ if [ "$(go env GOOS)/$(go env GOARCH)" != "$(go env GOHOSTOS)/$(go env GOHOSTARC
14 14
 		windows/amd64)
15 15
 			export CC=x86_64-w64-mingw32-gcc
16 16
 			export CGO_ENABLED=1
17
-			export LDFLAGS_STATIC_DOCKER="${LDFLAGS_STATIC_DOCKER/-linkmode external/} -extld=${CC}"
17
+			export LDFLAGS_STATIC_DOCKER="${LDFLAGS_STATIC_DOCKER/-linkmode external/-linkmode internal} -extld=${CC}"
18 18
 			;;
19 19
 	esac
20 20
 fi
... ...
@@ -74,20 +74,26 @@ func ParseTCPAddr(tryAddr string, defaultAddr string) (string, error) {
74 74
 		return "", fmt.Errorf("Invalid proto, expected tcp: %s", tryAddr)
75 75
 	}
76 76
 
77
-	u, err := url.Parse("tcp://" + addr)
77
+	defaultAddr = strings.TrimPrefix(defaultAddr, "tcp://")
78
+	defaultHost, defaultPort, err := net.SplitHostPort(defaultAddr)
78 79
 	if err != nil {
79 80
 		return "", err
80 81
 	}
82
+	// url.Parse fails for trailing colon on IPv6 brackets on Go 1.5, but
83
+	// not 1.4. See https://github.com/golang/go/issues/12200 and
84
+	// https://github.com/golang/go/issues/6530.
85
+	if strings.HasSuffix(addr, "]:") {
86
+		addr += defaultPort
87
+	}
81 88
 
82
-	host, port, err := net.SplitHostPort(u.Host)
89
+	u, err := url.Parse("tcp://" + addr)
83 90
 	if err != nil {
84
-		return "", fmt.Errorf("Invalid bind address format: %s", tryAddr)
91
+		return "", err
85 92
 	}
86 93
 
87
-	defaultAddr = strings.TrimPrefix(defaultAddr, "tcp://")
88
-	defaultHost, defaultPort, err := net.SplitHostPort(defaultAddr)
94
+	host, port, err := net.SplitHostPort(u.Host)
89 95
 	if err != nil {
90
-		return "", err
96
+		return "", fmt.Errorf("Invalid bind address format: %s", tryAddr)
91 97
 	}
92 98
 
93 99
 	if host == "" {