summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--api/client/commands.go2
-rw-r--r--api/client/hijack.go2
-rw-r--r--api/client/utils.go2
-rw-r--r--builtins/builtins.go2
-rw-r--r--daemon/daemon.go2
-rw-r--r--daemon/info.go2
-rw-r--r--docker/daemon.go2
-rw-r--r--docker/docker.go2
-rw-r--r--dockerversion/dockerversion.go15
-rw-r--r--graph/graph.go2
-rw-r--r--integration/graph_test.go2
-rwxr-xr-xproject/make.sh11
-rw-r--r--project/make/.dockerinit3
-rw-r--r--project/make/.dockerversion24
-rwxr-xr-xproject/make/binary2
-rw-r--r--project/make/dynbinary2
-rw-r--r--registry/httpfactory.go2
-rw-r--r--utils/utils.go2
19 files changed, 46 insertions, 36 deletions
diff --git a/.gitignore b/.gitignore
index 49fa58a946..69ad05694c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,3 +29,4 @@ docs/GIT_BRANCH
docs/VERSION
docs/GITCOMMIT
docs/changed-files
+autogen/
diff --git a/api/client/commands.go b/api/client/commands.go
index d232a490b4..bb59fba2b3 100644
--- a/api/client/commands.go
+++ b/api/client/commands.go
@@ -27,7 +27,7 @@ import (
log "github.com/Sirupsen/logrus"
"github.com/docker/docker/api"
"github.com/docker/docker/api/stats"
- "github.com/docker/docker/dockerversion"
+ "github.com/docker/docker/autogen/dockerversion"
"github.com/docker/docker/engine"
"github.com/docker/docker/graph"
"github.com/docker/docker/nat"
diff --git a/api/client/hijack.go b/api/client/hijack.go
index bb902405c0..4f89c3a76c 100644
--- a/api/client/hijack.go
+++ b/api/client/hijack.go
@@ -15,7 +15,7 @@ import (
log "github.com/Sirupsen/logrus"
"github.com/docker/docker/api"
- "github.com/docker/docker/dockerversion"
+ "github.com/docker/docker/autogen/dockerversion"
"github.com/docker/docker/pkg/promise"
"github.com/docker/docker/pkg/stdcopy"
"github.com/docker/docker/pkg/term"
diff --git a/api/client/utils.go b/api/client/utils.go
index 86e221ebf4..103bfdec3a 100644
--- a/api/client/utils.go
+++ b/api/client/utils.go
@@ -17,7 +17,7 @@ import (
log "github.com/Sirupsen/logrus"
"github.com/docker/docker/api"
- "github.com/docker/docker/dockerversion"
+ "github.com/docker/docker/autogen/dockerversion"
"github.com/docker/docker/engine"
"github.com/docker/docker/pkg/signal"
"github.com/docker/docker/pkg/stdcopy"
diff --git a/builtins/builtins.go b/builtins/builtins.go
index 41bb249286..1bd9362c09 100644
--- a/builtins/builtins.go
+++ b/builtins/builtins.go
@@ -5,8 +5,8 @@ import (
"github.com/docker/docker/api"
apiserver "github.com/docker/docker/api/server"
+ "github.com/docker/docker/autogen/dockerversion"
"github.com/docker/docker/daemon/networkdriver/bridge"
- "github.com/docker/docker/dockerversion"
"github.com/docker/docker/engine"
"github.com/docker/docker/events"
"github.com/docker/docker/pkg/parsers/kernel"
diff --git a/daemon/daemon.go b/daemon/daemon.go
index e23193e2b8..5213e17093 100644
--- a/daemon/daemon.go
+++ b/daemon/daemon.go
@@ -18,6 +18,7 @@ import (
log "github.com/Sirupsen/logrus"
"github.com/docker/docker/api"
+ "github.com/docker/docker/autogen/dockerversion"
"github.com/docker/docker/daemon/execdriver"
"github.com/docker/docker/daemon/execdriver/execdrivers"
"github.com/docker/docker/daemon/execdriver/lxc"
@@ -25,7 +26,6 @@ import (
_ "github.com/docker/docker/daemon/graphdriver/vfs"
_ "github.com/docker/docker/daemon/networkdriver/bridge"
"github.com/docker/docker/daemon/networkdriver/portallocator"
- "github.com/docker/docker/dockerversion"
"github.com/docker/docker/engine"
"github.com/docker/docker/graph"
"github.com/docker/docker/image"
diff --git a/daemon/info.go b/daemon/info.go
index 8eb4358f4a..f0fc1241b5 100644
--- a/daemon/info.go
+++ b/daemon/info.go
@@ -5,7 +5,7 @@ import (
"runtime"
log "github.com/Sirupsen/logrus"
- "github.com/docker/docker/dockerversion"
+ "github.com/docker/docker/autogen/dockerversion"
"github.com/docker/docker/engine"
"github.com/docker/docker/pkg/parsers/kernel"
"github.com/docker/docker/pkg/parsers/operatingsystem"
diff --git a/docker/daemon.go b/docker/daemon.go
index 5e0365f787..b130f8b485 100644
--- a/docker/daemon.go
+++ b/docker/daemon.go
@@ -9,12 +9,12 @@ import (
"path/filepath"
log "github.com/Sirupsen/logrus"
+ "github.com/docker/docker/autogen/dockerversion"
"github.com/docker/docker/builder"
"github.com/docker/docker/builtins"
"github.com/docker/docker/daemon"
_ "github.com/docker/docker/daemon/execdriver/lxc"
_ "github.com/docker/docker/daemon/execdriver/native"
- "github.com/docker/docker/dockerversion"
"github.com/docker/docker/engine"
"github.com/docker/docker/pkg/homedir"
flag "github.com/docker/docker/pkg/mflag"
diff --git a/docker/docker.go b/docker/docker.go
index 80d5e13f10..a9b31564b8 100644
--- a/docker/docker.go
+++ b/docker/docker.go
@@ -11,7 +11,7 @@ import (
log "github.com/Sirupsen/logrus"
"github.com/docker/docker/api"
"github.com/docker/docker/api/client"
- "github.com/docker/docker/dockerversion"
+ "github.com/docker/docker/autogen/dockerversion"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/reexec"
"github.com/docker/docker/utils"
diff --git a/dockerversion/dockerversion.go b/dockerversion/dockerversion.go
deleted file mode 100644
index 1898d5c61f..0000000000
--- a/dockerversion/dockerversion.go
+++ /dev/null
@@ -1,15 +0,0 @@
-package dockerversion
-
-// FIXME: this should be embedded in the docker/docker.go,
-// but we can't because distro policy requires us to
-// package a separate dockerinit binary, and that binary needs
-// to know its version too.
-
-var (
- GITCOMMIT string
- VERSION string
-
- IAMSTATIC string // whether or not Docker itself was compiled statically via ./hack/make.sh binary ("true" or not "true")
- INITSHA1 string // sha1sum of separate static dockerinit, if Docker itself was compiled dynamically via ./hack/make.sh dynbinary
- INITPATH string // custom location to search for a valid dockerinit binary (available for packagers as a last resort escape hatch)
-)
diff --git a/graph/graph.go b/graph/graph.go
index f7b9fc4f10..e05a11f644 100644
--- a/graph/graph.go
+++ b/graph/graph.go
@@ -13,8 +13,8 @@ import (
"time"
log "github.com/Sirupsen/logrus"
+ "github.com/docker/docker/autogen/dockerversion"
"github.com/docker/docker/daemon/graphdriver"
- "github.com/docker/docker/dockerversion"
"github.com/docker/docker/image"
"github.com/docker/docker/pkg/archive"
"github.com/docker/docker/pkg/truncindex"
diff --git a/integration/graph_test.go b/integration/graph_test.go
index 56e5a90642..3c4ce0457d 100644
--- a/integration/graph_test.go
+++ b/integration/graph_test.go
@@ -2,8 +2,8 @@ package docker
import (
"errors"
+ "github.com/docker/docker/autogen/dockerversion"
"github.com/docker/docker/daemon/graphdriver"
- "github.com/docker/docker/dockerversion"
"github.com/docker/docker/graph"
"github.com/docker/docker/image"
"github.com/docker/docker/pkg/archive"
diff --git a/project/make.sh b/project/make.sh
index 264ed37dd2..a7f04cd90c 100755
--- a/project/make.sh
+++ b/project/make.sh
@@ -99,14 +99,10 @@ if [ "$DOCKER_EXECDRIVER" = 'lxc' ]; then
fi
# Use these flags when compiling the tests and final binary
-LDFLAGS='
- -X '$DOCKER_PKG'/dockerversion.GITCOMMIT "'$GITCOMMIT'"
- -X '$DOCKER_PKG'/dockerversion.VERSION "'$VERSION'"
-'
-if [ -z "$DEBUG" ]; then
- LDFLAGS="-w $LDFLAGS"
-fi
+IAMSTATIC='true'
+source "$(dirname "$BASH_SOURCE")/make/.dockerversion"
+LDFLAGS='-w'
LDFLAGS_STATIC='-linkmode external'
# Cgo -H windows is incompatible with -linkmode external.
@@ -128,7 +124,6 @@ TESTFLAGS+=" -test.timeout=${TIMEOUT}"
EXTLDFLAGS_STATIC_DOCKER="$EXTLDFLAGS_STATIC -lpthread -Wl,--unresolved-symbols=ignore-in-object-files"
LDFLAGS_STATIC_DOCKER="
$LDFLAGS_STATIC
- -X $DOCKER_PKG/dockerversion.IAMSTATIC true
-extldflags \"$EXTLDFLAGS_STATIC_DOCKER\"
"
diff --git a/project/make/.dockerinit b/project/make/.dockerinit
index 73df8fce01..0f51fce0ac 100644
--- a/project/make/.dockerinit
+++ b/project/make/.dockerinit
@@ -1,6 +1,9 @@
#!/bin/bash
set -e
+IAMSTATIC="true"
+source "$(dirname "$BASH_SOURCE")/.dockerversion"
+
# dockerinit still needs to be a static binary, even if docker is dynamic
go build \
-o "$DEST/dockerinit-$VERSION" \
diff --git a/project/make/.dockerversion b/project/make/.dockerversion
new file mode 100644
index 0000000000..c96ff065bd
--- /dev/null
+++ b/project/make/.dockerversion
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+rm -rf autogen
+mkdir -p autogen/dockerversion
+cat > autogen/dockerversion/dockerversion.go <<EOF
+// AUTOGENERATED FILE; see $BASH_SOURCE
+package dockerversion
+
+var (
+ GITCOMMIT string = "$GITCOMMIT"
+ VERSION string = "$VERSION"
+)
+EOF
+
+cat > autogen/dockerversion/static.go <<EOF
+// AUTOGENERATED FILE; see $BASH_SOURCE
+package dockerversion
+
+var (
+ IAMSTATIC string = "${IAMSTATIC:-true}"
+ INITSHA1 string = "$DOCKER_INITSHA1"
+ INITPATH string = "$DOCKER_INITPATH"
+)
+EOF
diff --git a/project/make/binary b/project/make/binary
index c0cc3459e6..edc38a640c 100755
--- a/project/make/binary
+++ b/project/make/binary
@@ -11,6 +11,8 @@ if [[ "$(uname -s)" == CYGWIN* ]]; then
DEST=$(cygpath -mw $DEST)
fi
+source "$(dirname "$BASH_SOURCE")/.dockerversion"
+
go build \
-o "$DEST/$BINARY_FULLNAME" \
"${BUILDFLAGS[@]}" \
diff --git a/project/make/dynbinary b/project/make/dynbinary
index 7b43d9d9df..a6bd129eef 100644
--- a/project/make/dynbinary
+++ b/project/make/dynbinary
@@ -14,7 +14,7 @@ fi
# DOCKER_INITSHA1 is exported so that other bundlescripts can easily access it later without recalculating it
(
- export LDFLAGS_STATIC_DOCKER="-X $DOCKER_PKG/dockerversion.INITSHA1 \"$DOCKER_INITSHA1\" -X $DOCKER_PKG/dockerversion.INITPATH \"$DOCKER_INITPATH\""
+ export IAMSTATIC="false"
export BUILDFLAGS=( "${BUILDFLAGS[@]/netgo /}" ) # disable netgo, since we don't need it for a dynamic binary
export BUILDFLAGS=( "${BUILDFLAGS[@]/static_build /}" ) # we're not building a "static" binary here
source "$(dirname "$BASH_SOURCE")/binary"
diff --git a/registry/httpfactory.go b/registry/httpfactory.go
index 4c78436094..a4fea3822a 100644
--- a/registry/httpfactory.go
+++ b/registry/httpfactory.go
@@ -3,7 +3,7 @@ package registry
import (
"runtime"
- "github.com/docker/docker/dockerversion"
+ "github.com/docker/docker/autogen/dockerversion"
"github.com/docker/docker/pkg/parsers/kernel"
"github.com/docker/docker/utils"
)
diff --git a/utils/utils.go b/utils/utils.go
index e94d5239dc..6e02d369b1 100644
--- a/utils/utils.go
+++ b/utils/utils.go
@@ -21,7 +21,7 @@ import (
"sync"
log "github.com/Sirupsen/logrus"
- "github.com/docker/docker/dockerversion"
+ "github.com/docker/docker/autogen/dockerversion"
"github.com/docker/docker/pkg/archive"
"github.com/docker/docker/pkg/fileutils"
"github.com/docker/docker/pkg/ioutils"