diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | api/client/commands.go | 2 | ||||
-rw-r--r-- | api/client/hijack.go | 2 | ||||
-rw-r--r-- | api/client/utils.go | 2 | ||||
-rw-r--r-- | builtins/builtins.go | 2 | ||||
-rw-r--r-- | daemon/daemon.go | 2 | ||||
-rw-r--r-- | daemon/info.go | 2 | ||||
-rw-r--r-- | docker/daemon.go | 2 | ||||
-rw-r--r-- | docker/docker.go | 2 | ||||
-rw-r--r-- | dockerversion/dockerversion.go | 15 | ||||
-rw-r--r-- | graph/graph.go | 2 | ||||
-rw-r--r-- | integration/graph_test.go | 2 | ||||
-rwxr-xr-x | project/make.sh | 11 | ||||
-rw-r--r-- | project/make/.dockerinit | 3 | ||||
-rw-r--r-- | project/make/.dockerversion | 24 | ||||
-rwxr-xr-x | project/make/binary | 2 | ||||
-rw-r--r-- | project/make/dynbinary | 2 | ||||
-rw-r--r-- | registry/httpfactory.go | 2 | ||||
-rw-r--r-- | utils/utils.go | 2 |
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" |