aboutsummaryrefslogtreecommitdiff
path: root/utils/dockerd/Makefile
diff options
context:
space:
mode:
authorGerard Ryan <G.M0N3Y.2503@gmail.com>2020-11-08 12:31:38 +1000
committerDaniel Golle <dangowrt@users.noreply.github.com>2020-12-15 12:52:33 +0000
commit3d8d2bd08326aff1df0489712193be2f238f5803 (patch)
tree3b92942607baee97003bc3465233a639ca32169e /utils/dockerd/Makefile
parent404b917183840dfdb3791d612ea28de347d451c6 (diff)
dockerd: Updated to 20.10.0
* SELinux and Seccomp are now enabled via the kernel options themselves * Config.in now uses CGroupsV2 by default but optionally allows V1 Signed-off-by: Gerard Ryan <G.M0N3Y.2503@gmail.com>
Diffstat (limited to 'utils/dockerd/Makefile')
-rw-r--r--utils/dockerd/Makefile120
1 files changed, 58 insertions, 62 deletions
diff --git a/utils/dockerd/Makefile b/utils/dockerd/Makefile
index 288a18364..fdfacd6ec 100644
--- a/utils/dockerd/Makefile
+++ b/utils/dockerd/Makefile
@@ -1,61 +1,64 @@
include $(TOPDIR)/rules.mk
-PKG_NAME:=docker-ce
-PKG_VERSION:=19.03.13
-PKG_RELEASE:=5
+PKG_NAME:=dockerd
+PKG_VERSION:=20.10.0
+PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://codeload.github.com/docker/docker-ce/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=b2ff08675738031b6d6d59a90226657c16726851957c11b5fb85a4598b933b92
-PKG_SOURCE_VERSION:=4484c46d9d # SHA1 used within the docker executables
+PKG_SOURCE_URL:=https://codeload.github.com/moby/moby/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=c522994fa1c74aac227b9f4b47cf6b3d7ca5fc5b50f06b3dad41bd4dc92b6771
+PKG_SOURCE_VERSION:=e07c941c94 # SHA1 used within the docker executables
PKG_MAINTAINER:=Gerard Ryan <G.M0N3Y.2503@gmail.com>
-# $(1) = path to dependent package 'Makefile'
-# $(2) = relevant docker-ce '.installer' file
-define EnsureVendoredVersion
- ( \
- DEP_VER=$$$$( grep --only-matching --perl-regexp '(?<=PKG_SOURCE_VERSION:=)(.*)' "$(1)" ); \
- VEN_VER=$$$$( grep --only-matching --perl-regexp '(?<=_COMMIT:=)(.*)(?=})' "$(PKG_BUILD_DIR)/components/engine/hack/dockerfile/install/$(2)" ); \
- if [ $$$$VEN_VER != $$$$DEP_VER ]; then \
- echo "ERROR: Expected 'PKG_SOURCE_VERSION:=$$$$VEN_VER' in '$(1)', found 'PKG_SOURCE_VERSION:=$$$$DEP_VER'"; \
- exit 1; \
- fi \
- )
-endef
-
PKG_BUILD_DEPENDS:=golang/host
PKG_BUILD_PARALLEL:=1
-GO_PKG:=github.com/docker
+GO_PKG:=github.com/docker/docker
include $(INCLUDE_DIR)/package.mk
include ../../lang/golang/golang-package.mk
-define Package/docker-ce/config
+define Package/dockerd/config
source "$(SOURCE)/Config.in"
endef
-define Package/docker-ce
+define Package/dockerd
SECTION:=utils
CATEGORY:=Utilities
- TITLE:=Docker Community Edition
+ TITLE:=Docker Community Edition Daemon
URL:=https://www.docker.com/
- DEPENDS:=$(GO_ARCH_DEPENDS) @(aarch64||arm||x86_64) +btrfs-progs +ca-certificates +cgroupfs-mount +containerd +libdevmapper +libnetwork +tini \
- +DOCKER_SECCOMP:libseccomp +iptables-mod-extra +kmod-br-netfilter +kmod-ikconfig +kmod-nf-conntrack-netlink +kmod-nf-ipvs +kmod-veth
+ DEPENDS:=$(GO_ARCH_DEPENDS) @(aarch64||arm||x86_64) +btrfs-progs +ca-certificates +containerd +libdevmapper +libnetwork +tini \
+ +KERNEL_SECCOMP:libseccomp +iptables-mod-extra +kmod-br-netfilter +kmod-ikconfig +kmod-nf-conntrack-netlink +kmod-nf-ipvs \
+ +kmod-nf-nat +kmod-veth
USERID:=docker:docker
MENU:=1
endef
-define Package/docker-ce/conffiles
+define Package/dockerd/conffiles
/etc/config/dockerd
endef
-define Package/docker-ce/description
- Docker Engine is used by millions enables containerized applications
- to run anywhere consistently on any infrastructure.
+define Package/dockerd/description
+The Docker CE Engine.
+endef
+
+TAR_OPTIONS:=--strip-components 1 $(TAR_OPTIONS)
+TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
+
+# $(1) = path to dependent package 'Makefile'
+# $(2) = relevant dependency '.installer' file
+define EnsureVendoredVersion
+ ( \
+ DEP_VER=$$$$( grep --only-matching --perl-regexp '(?<=PKG_SOURCE_VERSION:=)(.*)' "$(1)" ); \
+ VEN_VER=$$$$( grep --only-matching --perl-regexp '(?<=_COMMIT:=)(.*)(?=})' "$(PKG_BUILD_DIR)/hack/dockerfile/install/$(2)" ); \
+ if [ $$$$VEN_VER != $$$$DEP_VER ]; then \
+ echo "ERROR: Expected 'PKG_SOURCE_VERSION:=$$$$VEN_VER' in '$(1)', found 'PKG_SOURCE_VERSION:=$$$$DEP_VER'"; \
+ exit 1; \
+ fi \
+ )
endef
define Build/Prepare
@@ -66,51 +69,44 @@ define Build/Prepare
$(call EnsureVendoredVersion,../libnetwork/Makefile,proxy.installer)
$(call EnsureVendoredVersion,../runc/Makefile,runc.installer)
$(call EnsureVendoredVersion,../tini/Makefile,tini.installer)
-endef
-define Build/Configure
- # move so GoPackage/Build/Configure will get the correct path
- mv $(PKG_BUILD_DIR)/components/engine $(PKG_BUILD_DIR)/
-
- # docker generates files at build time so we'll just symlink for now and call GoPackage/Build/Configure later
- mkdir -p $(GO_PKG_BUILD_DIR)/bin \
- $(GO_PKG_BUILD_DIR)/src \
- $(GO_PKG_BUILD_DIR)/src/$(GO_PKG)/ \
- $(GO_BUILD_CACHE_DIR)
- $(LN) $(PKG_BUILD_DIR)/engine $(GO_PKG_BUILD_DIR)/src/$(GO_PKG)/docker
+ # Verify CLI is the same version
+ ( \
+ CLI_MAKEFILE="../docker/Makefile"; \
+ CLI_VERSION=$$$$( grep --only-matching --perl-regexp '(?<=PKG_VERSION:=)(.*)' "$$$$CLI_MAKEFILE" ); \
+ if [ $$$$CLI_VERSION != $(PKG_VERSION) ]; then \
+ echo "ERROR: Expected 'PKG_VERSION:=$(PKG_VERSION)' in '$$$$CLI_MAKEFILE', found 'PKG_VERSION:=$$$$CLI_VERSION'"; \
+ exit 1; \
+ fi \
+ )
endef
-ifeq ($(CONFIG_DOCKER_SECCOMP),y)
-BUILDTAGS:=seccomp
-else
BUILDTAGS:=
+ifeq ($(KERNEL_SECCOMP),y)
+BUILDTAGS += seccomp
+endif
+ifeq ($(CONFIG_SELINUX),y)
+BUILDTAGS += selinux
endif
define Build/Compile
( \
- export $(GO_PKG_VARS) \
- GITCOMMIT=$(PKG_SOURCE_VERSION) \
- DOCKER_GITCOMMIT=$(PKG_SOURCE_VERSION) \
- DOCKER_BUILDTAGS='$(BUILDTAGS)' \
- VERSION=$(PKG_VERSION) \
- \
- && echo "Compiling Engine..." \
- && cd $(PKG_BUILD_DIR)/engine \
- && ./hack/make.sh binary \
+ cd $(PKG_BUILD_DIR); \
+ $(GO_PKG_VARS) \
+ DOCKER_GITCOMMIT=$(PKG_SOURCE_VERSION) \
+ DOCKER_BUILDTAGS='$(BUILDTAGS)' \
+ VERSION=$(PKG_VERSION) \
+ ./hack/make.sh binary; \
)
-
- # done here to include autogenerated files also
- rm $(GO_PKG_BUILD_DIR)/src/$(GO_PKG)/docker
- $(call GoPackage/Build/Configure)
endef
-define Package/docker-ce/install
+define Package/dockerd/install
$(INSTALL_DIR) $(1)/usr/bin/
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/engine/bundles/binary-daemon/dockerd $(1)/usr/bin/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/bundles/binary-daemon/dockerd $(1)/usr/bin/
$(INSTALL_DIR) $(1)/opt/docker/
$(INSTALL_DIR) $(1)/usr/share/docker/
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/engine/contrib/check-config.sh $(1)/usr/share/docker/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/check-config.sh $(1)/usr/share/docker/
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/dockerd.init $(1)/etc/init.d/dockerd
@@ -124,7 +120,7 @@ define Package/docker-ce/install
$(1)/etc/sysctl.d/12-br-netfilter-ip.conf
endef
-define Package/docker-ce/postinst
+define Package/dockerd/postinst
#!/bin/sh
[ -n "$$IPKG_INSTROOT" ] || {
/etc/init.d/dockerd enable
@@ -133,7 +129,7 @@ define Package/docker-ce/postinst
}
endef
-define Package/docker-ce/prerm
+define Package/dockerd/prerm
#!/bin/sh
[ -n "$$IPKG_INSTROOT" ] || {
/etc/init.d/dockerd disable
@@ -142,4 +138,4 @@ define Package/docker-ce/prerm
}
endef
-$(eval $(call BuildPackage,docker-ce))
+$(eval $(call BuildPackage,dockerd))