From: Christian Stewart <christian@paral.in>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v3 6/6] docker-engine: split into docker-{cli, engine}, bump v2018.06-ce-rc3
Date: Sat, 14 Jul 2018 18:07:32 -0700 [thread overview]
Message-ID: <20180715010732.21765-12-christian@paral.in> (raw)
In-Reply-To: <20180715010732.21765-1-christian@paral.in>
Docker upstream has split the Docker daemon and CLI into separate codebases:
- github.com/docker/docker-engine: daemon, remains in docker-engine
- github.com/docker/cli: cli, split into docker-cli and selected by engine
This commit splits the docker-engine package into docker-engine and docker-cli.
Conveniently, the Docker project has begun maintaining two separate
release-tagged repositories for the CLI and daemon as of v18.06-ce-rc1. Previous
versions were tagged in a common "docker-ce" repository which makes compilation
awkward for Buildroot, especially due to some limitations in the new Go package
infrastructure.
Legacy flags are added to ease the transition:
- BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT=y -> BR2_PACKAGE_DOCKER_CLI_STATIC
- docker-engine selects docker-cli
Docker repositories "engine" and "cli" recently started tagging releases as
recent as v18.06-ce-rc1, so we pull the latest tagged release v18.06-ce-rc3 and
upgrade to v18.06-ce when it is released.
Signed-off-by: Christian Stewart <christian@paral.in>
---
Config.in.legacy | 9 +++++++++
package/Config.in | 1 +
package/docker-cli/Config.in | 25 +++++++++++++++++++++++++
package/docker-cli/docker-cli.hash | 2 ++
package/docker-cli/docker-cli.mk | 29 +++++++++++++++++++++++++++++
package/docker-engine/Config.in | 7 +------
package/docker-engine/docker-engine.hash | 2 +-
package/docker-engine/docker-engine.mk | 32 ++++++++++++++------------------
8 files changed, 82 insertions(+), 25 deletions(-)
create mode 100644 package/docker-cli/Config.in
create mode 100644 package/docker-cli/docker-cli.hash
create mode 100644 package/docker-cli/docker-cli.mk
diff --git a/Config.in.legacy b/Config.in.legacy
index 9743ebd08f..4cf9d05b9c 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -242,6 +242,15 @@ config BR2_GDB_VERSION_7_10
###############################################################################
comment "Legacy options removed in 2018.05"
+config BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT
+ bool "docker-engine static client option renamed"
+ select BR2_LEGACY
+ select BR2_PACKAGE_DOCKER_CLI_STATIC
+ help
+ For consistency reasons, the option
+ BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT has been renamed to
+ BR2_PACKAGE_DOCKER_CLI_STATIC
+
config BR2_PACKAGE_MEDIAART_BACKEND_NONE
bool "libmediaart none backend option renamed"
select BR2_LEGACY
diff --git a/package/Config.in b/package/Config.in
index 2aeb8d0f10..28c1452a0f 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2007,6 +2007,7 @@ menu "System tools"
source "package/dcron/Config.in"
source "package/ddrescue/Config.in"
source "package/debianutils/Config.in"
+ source "package/docker-cli/Config.in"
source "package/docker-compose/Config.in"
source "package/docker-containerd/Config.in"
source "package/docker-engine/Config.in"
diff --git a/package/docker-cli/Config.in b/package/docker-cli/Config.in
new file mode 100644
index 0000000000..82c35c453d
--- /dev/null
+++ b/package/docker-cli/Config.in
@@ -0,0 +1,25 @@
+config BR2_PACKAGE_DOCKER_CLI
+ bool "docker-cli"
+ depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
+ depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ help
+ Docker is a platform to build, ship,
+ and run applications as lightweight containers.
+
+ https://github.com/docker/cli
+
+if BR2_PACKAGE_DOCKER_CLI
+
+config BR2_PACKAGE_DOCKER_CLI_STATIC
+ bool "build static client"
+ depends on !BR2_STATIC_LIBS
+ help
+ Build a static docker client.
+
+endif
+
+comment "docker-cli needs a toolchain w/ threads"
+ depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
+ depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/docker-cli/docker-cli.hash b/package/docker-cli/docker-cli.hash
new file mode 100644
index 0000000000..92b821de36
--- /dev/null
+++ b/package/docker-cli/docker-cli.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 06a302b43d6a2110ca33808077ca025f4adf9992c32a3cebc5373ecc3cdd44a2 docker-cli-v18.06.0-ce-rc3.tar.gz
diff --git a/package/docker-cli/docker-cli.mk b/package/docker-cli/docker-cli.mk
new file mode 100644
index 0000000000..f11a8b514e
--- /dev/null
+++ b/package/docker-cli/docker-cli.mk
@@ -0,0 +1,29 @@
+###############################################################################
+#
+# docker-cli
+#
+################################################################################
+
+DOCKER_CLI_VERSION = v18.06.0-ce-rc3
+DOCKER_CLI_SITE = $(call github,docker,cli,$(DOCKER_CLI_VERSION))
+DOCKER_CLI_WORKSPACE = gopath
+
+DOCKER_CLI_LICENSE = Apache-2.0
+DOCKER_CLI_LICENSE_FILES = LICENSE
+
+DOCKER_CLI_DEPENDENCIES = host-go host-pkgconf
+
+DOCKER_CLI_LDFLAGS = \
+ -X github.com/docker/cli/cli.GitCommit=$(DOCKER_CLI_VERSION) \
+ -X github.com/docker/cli/cli.Version=$(DOCKER_CLI_VERSION)
+
+ifeq ($(BR2_PACKAGE_DOCKER_CLI_STATIC),y)
+DOCKER_CLI_LDFLAGS += -extldflags '-static'
+endif
+
+DOCKER_CLI_TAGS = cgo autogen
+DOCKER_CLI_BUILD_TARGETS = cmd/docker
+
+DOCKER_CLI_INSTALL_BINS = $(notdir $(DOCKER_CLI_BUILD_TARGETS))
+
+$(eval $(golang-package))
diff --git a/package/docker-engine/Config.in b/package/docker-engine/Config.in
index a76940b6c0..e1e8ce0065 100644
--- a/package/docker-engine/Config.in
+++ b/package/docker-engine/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_DOCKER_ENGINE
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
+ select BR2_PACKAGE_DOCKER_CLI
help
Docker is a platform to build, ship,
and run applications as lightweight containers.
@@ -26,12 +27,6 @@ config BR2_PACKAGE_DOCKER_ENGINE_DAEMON
config BR2_PACKAGE_DOCKER_ENGINE_EXPERIMENTAL
bool "build experimental features"
-config BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT
- bool "build static client"
- depends on !BR2_STATIC_LIBS
- help
- Build a static docker client.
-
if BR2_PACKAGE_DOCKER_ENGINE_DAEMON
choice
diff --git a/package/docker-engine/docker-engine.hash b/package/docker-engine/docker-engine.hash
index 6c0ed338a5..592f570a09 100644
--- a/package/docker-engine/docker-engine.hash
+++ b/package/docker-engine/docker-engine.hash
@@ -1,2 +1,2 @@
# Locally calculated
-sha256 4716df117d867b82ddab2e82395cd40aa3d0925a689eedcec8919729e4c9f121 docker-engine-v17.05.0-ce.tar.gz
+sha256 faf546bf0fdcf32d4f9ddbe67759fb39871dc9ea42bddffea23286fcdbf28842 docker-engine-v18.06.0-ce-rc3.tar.gz
diff --git a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk
index a85f4b5784..b251befa09 100644
--- a/package/docker-engine/docker-engine.mk
+++ b/package/docker-engine/docker-engine.mk
@@ -4,25 +4,21 @@
#
################################################################################
-DOCKER_ENGINE_VERSION = v17.05.0-ce
-DOCKER_ENGINE_COMMIT = 89658bed64c2a8fe05a978e5b87dbec409d57a0f
-DOCKER_ENGINE_SITE = $(call github,docker,docker,$(DOCKER_ENGINE_VERSION))
+DOCKER_ENGINE_VERSION = v18.06.0-ce-rc3
+DOCKER_ENGINE_SITE = $(call github,docker,engine,$(DOCKER_ENGINE_VERSION))
DOCKER_ENGINE_LICENSE = Apache-2.0
DOCKER_ENGINE_LICENSE_FILES = LICENSE
DOCKER_ENGINE_DEPENDENCIES = host-go host-pkgconf
+DOCKER_ENGINE_SRC_SUBDIR = github.com/docker/docker
DOCKER_ENGINE_LDFLAGS = \
-X main.GitCommit=$(DOCKER_ENGINE_VERSION) \
-X main.Version=$(DOCKER_ENGINE_VERSION)
-ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT),y)
-DOCKER_ENGINE_LDFLAGS += -extldflags '-static'
-endif
-
DOCKER_ENGINE_TAGS = cgo exclude_graphdriver_zfs autogen
-DOCKER_ENGINE_BUILD_TARGETS = cmd/docker
+DOCKER_ENGINE_BUILD_TARGETS = cmd/dockerd
ifeq ($(BR2_PACKAGE_LIBSECCOMP),y)
DOCKER_ENGINE_TAGS += seccomp
@@ -32,11 +28,7 @@ endif
ifeq ($(BR2_INIT_SYSTEMD),y)
DOCKER_ENGINE_TAGS += journald
DOCKER_ENGINE_DEPENDENCIES += systemd
-endif
-
-ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DAEMON),y)
-DOCKER_ENGINE_TAGS += daemon
-DOCKER_ENGINE_BUILD_TARGETS += cmd/dockerd
+DOCKER_ENGINE_TAGS += systemd journald
endif
ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_EXPERIMENTAL),y)
@@ -64,15 +56,16 @@ endif
DOCKER_ENGINE_INSTALL_BINS = $(notdir $(DOCKER_ENGINE_BUILD_TARGETS))
ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_INIT_DUMB_INIT),y)
-DOCKER_ENGINE_INSTALL_BINS += dumb-init
+DOCKER_ENGINE_INIT_BIN = dumb-init
else
-DOCKER_ENGINE_INSTALL_BINS += tini
+DOCKER_ENGINE_INIT_BIN = tini
endif
define DOCKER_ENGINE_RUN_AUTOGEN
cd $(@D) && \
GITCOMMIT="$$(echo $(DOCKER_ENGINE_COMMIT) | head -c7)" \
BUILDTIME="$$(date)" \
+ IAMSTATIC="true" \
VERSION="$(patsubst v%,%,$(DOCKER_ENGINE_VERSION))" \
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" $(TARGET_MAKE_ENV) \
bash ./hack/make/.go-autogen
@@ -80,7 +73,12 @@ endef
DOCKER_ENGINE_POST_CONFIGURE_HOOKS += DOCKER_ENGINE_RUN_AUTOGEN
-ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DAEMON),y)
+define DOCKER_ENGINE_LINK_INIT
+ ln -s $(DOCKER_ENGINE_INIT_BIN) \
+ $(TARGET_DIR)/usr/bin/$(DOCKER_ENGINE_INIT_BIN)
+endef
+
+DOCKER_ENGINE_POST_INSTALL_HOOKS += DOCKER_ENGINE_LINK_INIT
define DOCKER_ENGINE_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 $(@D)/contrib/init/systemd/docker.service \
@@ -96,6 +94,4 @@ define DOCKER_ENGINE_USERS
- - docker -1 * - - - Docker Application Container Framework
endef
-endif
-
$(eval $(golang-package))
--
2.16.1
next prev parent reply other threads:[~2018-07-15 1:07 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-15 1:07 [Buildroot] [PATCH 1/6] tini: new package Christian Stewart
2018-07-15 1:07 ` [Buildroot] [PATCH 2/6] dumb-init: " Christian Stewart
2018-07-15 1:07 ` [Buildroot] [PATCH 3/6] docker-engine: add support for init processes Christian Stewart
2018-07-15 1:07 ` [Buildroot] [PATCH 4/6] runc: bump to 69663f0b Christian Stewart
2018-07-15 1:07 ` [Buildroot] [PATCH 5/6] docker-containerd: bump to v1.1.1 Christian Stewart
2018-07-15 1:07 ` [Buildroot] [PATCH 6/6] docker-engine: split into docker-{cli, engine}, bump v2018.06-ce-rc3 Christian Stewart
2018-07-15 1:07 ` [Buildroot] [PATCH v3 1/6] tini: new package Christian Stewart
2018-07-15 14:30 ` Matthew Weber
2018-07-15 16:01 ` Yann E. MORIN
2018-07-15 19:26 ` Christian Stewart
2018-07-15 19:58 ` Yann E. MORIN
2018-07-16 22:19 ` Arnout Vandecappelle
2018-07-15 1:07 ` [Buildroot] [PATCH v3 2/6] dumb-init: " Christian Stewart
2018-07-15 1:07 ` [Buildroot] [PATCH v3 3/6] docker-engine: add support for init processes Christian Stewart
2018-07-15 1:07 ` [Buildroot] [PATCH v3 4/6] runc: bump to 69663f0b Christian Stewart
2018-07-15 1:07 ` [Buildroot] [PATCH v3 5/6] docker-containerd: bump to v1.1.1 Christian Stewart
2018-07-15 1:07 ` Christian Stewart [this message]
2018-07-15 15:57 ` [Buildroot] [PATCH 1/6] tini: new package Yann E. MORIN
2018-08-10 13:53 ` Matthew Weber
2018-08-10 22:36 ` Christian Stewart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180715010732.21765-12-christian@paral.in \
--to=christian@paral.in \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.