Browse code

finally, use code generation for INITSHA1 & INITPATH too

Signed-off-by: Michael Hudson-Doyle <michael.hudson@linaro.org>

Michael Hudson-Doyle authored on 2014/10/08 11:31:43
Showing 5 changed files
... ...
@@ -29,3 +29,4 @@ docs/VERSION
29 29
 docs/GITCOMMIT
30 30
 dockerversion/static.go
31 31
 dockerversion/details.go
32
+dockerversion/init.go
... ...
@@ -94,7 +94,7 @@ if [ -z "$DOCKER_CLIENTONLY" ]; then
94 94
 	DOCKER_BUILDTAGS+=" daemon"
95 95
 fi
96 96
 
97
-rm -f dockerversion/static.go dockerversion/details.go
97
+rm -f dockerversion/static.go dockerversion/details.go dockerversion/init.go
98 98
 cat > dockerversion/details.go <<EOF
99 99
 // AUTOGENERATED FILE; see hack/make.sh
100 100
 package dockerversion
... ...
@@ -47,7 +47,16 @@ fi
47 47
 # exported so that "dyntest" can easily access it later without recalculating it
48 48
 
49 49
 (
50
-	export LDFLAGS_STATIC_DOCKER="-X $DOCKER_PKG/dockerversion.INITSHA1 \"$DOCKER_INITSHA1\" -X $DOCKER_PKG/dockerversion.INITPATH \"$DOCKER_INITPATH\""
50
+	export LDFLAGS_STATIC_DOCKER=""
51
+	cat > dockerversion/init.go <<EOF
52
+// AUTOGENERATED FILE; see hack/make/dynbinary, hack/make/dyntest-integration and dyntest-unit
53
+package dockerversion
54
+
55
+func init() {
56
+	INITSHA1 = "$DOCKER_INITSHA1"
57
+	INITPATH = "$DOCKER_INITPATH"
58
+}
59
+EOF
51 60
 	export IAMSTATIC=false
52 61
 	export BUILDFLAGS=( "${BUILDFLAGS[@]/netgo /}" ) # disable netgo, since we don't need it for a dynamic binary
53 62
 	source "$(dirname "$BASH_SOURCE")/binary"
... ...
@@ -11,8 +11,14 @@ fi
11 11
 
12 12
 (
13 13
 	export TEST_DOCKERINIT_PATH="$INIT"
14
-	export LDFLAGS_STATIC_DOCKER="
15
-		-X $DOCKER_PKG/dockerversion.INITSHA1 \"$DOCKER_INITSHA1\"
16
-	"
14
+	export LDFLAGS_STATIC_DOCKER=""
15
+	cat > dockerversion/init.go <<EOF
16
+// AUTOGENERATED FILE; see hack/make/dynbinary, hack/make/dyntest-integration and dyntest-unit
17
+package dockerversion
18
+
19
+func init() {
20
+	INITSHA1 = "$DOCKER_INITSHA1"
21
+}
22
+EOF
17 23
 	source "$(dirname "$BASH_SOURCE")/test-integration"
18 24
 )
... ...
@@ -11,8 +11,14 @@ fi
11 11
 
12 12
 (
13 13
 	export TEST_DOCKERINIT_PATH="$INIT"
14
-	export LDFLAGS_STATIC_DOCKER="
15
-		-X $DOCKER_PKG/dockerversion.INITSHA1 \"$DOCKER_INITSHA1\"
16
-	"
14
+	export LDFLAGS_STATIC_DOCKER=""
15
+	cat > dockerversion/init.go <<EOF
16
+// AUTOGENERATED FILE; see hack/make/dynbinary, hack/make/dyntest-integration and dyntest-unit
17
+package dockerversion
18
+
19
+func init() {
20
+	INITSHA1 = "$DOCKER_INITSHA1"
21
+}
22
+EOF
17 23
 	source "$(dirname "$BASH_SOURCE")/test-unit"
18 24
 )