diff --git a/cmd/docker/daemon_windows.go b/cmd/docker/daemon_none.go similarity index 55% rename from cmd/docker/daemon_windows.go rename to cmd/docker/daemon_none.go index 41c0133b67d716a663354dc580f8832876a43773..d66bf1a5469b932009d3a8fcc4c328524d70d555 100644 --- a/cmd/docker/daemon_windows.go +++ b/cmd/docker/daemon_none.go @@ -1,11 +1,16 @@ +// +build !daemon + package main import ( "fmt" + "runtime" + "strings" ) // CmdDaemon reports on an error on windows, because there is no exec func (p DaemonProxy) CmdDaemon(args ...string) error { return fmt.Errorf( - "`docker daemon` does not exist on windows. Please run `dockerd` directly") + "`docker daemon` is not supported on %s. Please run `dockerd` directly", + strings.Title(runtime.GOOS)) } diff --git a/cmd/docker/daemon_windows_test.go b/cmd/docker/daemon_none_test.go similarity index 80% rename from cmd/docker/daemon_windows_test.go rename to cmd/docker/daemon_none_test.go index 3da4e5d7ccc769705e1ddd9f9c86c1770ccbc474..d75453bcc56002d198310b761c71198268dd271e 100644 --- a/cmd/docker/daemon_windows_test.go +++ b/cmd/docker/daemon_none_test.go @@ -1,3 +1,5 @@ +// +build !daemon + package main import ( @@ -9,7 +11,7 @@ func TestCmdDaemon(t *testing.T) { proxy := NewDaemonProxy() err := proxy.CmdDaemon("--help") if err == nil { - t.Fatal("Expected CmdDaemon to fail in Windows.") + t.Fatal("Expected CmdDaemon to fail on Windows.") } if !strings.Contains(err.Error(), "Please run `dockerd`") { diff --git a/cmd/docker/daemon_unix.go b/cmd/docker/daemon_unix.go index 896782b36c4649b527944229e6b281f4df4df118..7a27518636246dbb56f3907b51f883afa88da89c 100644 --- a/cmd/docker/daemon_unix.go +++ b/cmd/docker/daemon_unix.go @@ -1,4 +1,4 @@ -// +build !windows +// +build daemon package main diff --git a/hack/make.sh b/hack/make.sh index 36fe28bc18b105e565046cbaf51095ac9ceb759b..e103a1aad8908d6ce13f1a23ea193679232bf4ae 100755 --- a/hack/make.sh +++ b/hack/make.sh @@ -127,6 +127,7 @@ if [ "$DOCKER_EXPERIMENTAL" ]; then DOCKER_BUILDTAGS+=" experimental" fi +DOCKER_BUILDTAGS+=" daemon" if pkg-config 'libsystemd >= 209' 2> /dev/null ; then DOCKER_BUILDTAGS+=" journald" elif pkg-config 'libsystemd-journal' 2> /dev/null ; then diff --git a/hack/make/cross b/hack/make/cross index 37214da36a9efc94320b905b5b9e914a0682dfba..dfcd14401883fa427c72ad76f7262524b12f8fba 100644 --- a/hack/make/cross +++ b/hack/make/cross @@ -35,7 +35,10 @@ for platform in $DOCKER_CROSSPLATFORMS; do fi if [ -z "${daemonSupporting[$platform]}" ]; then - export LDFLAGS_STATIC_DOCKER="" # we just need a simple client for these platforms + # we just need a simple client for these platforms + export LDFLAGS_STATIC_DOCKER="" + # remove the "daemon" build tag from platforms that aren't supported + export BUILDFLAGS=( "${ORIG_BUILDFLAGS[@]/ daemon/}" ) source "${MAKEDIR}/binary-client" else source "${MAKEDIR}/binary-client"