1################################################################################ 2# 3# docker-engine 4# 5################################################################################ 6 7DOCKER_ENGINE_VERSION = 26.0.2 8DOCKER_ENGINE_SITE = $(call github,moby,moby,v$(DOCKER_ENGINE_VERSION)) 9 10DOCKER_ENGINE_LICENSE = Apache-2.0 11DOCKER_ENGINE_LICENSE_FILES = LICENSE 12 13DOCKER_ENGINE_DEPENDENCIES = host-pkgconf libseccomp 14DOCKER_ENGINE_GOMOD = github.com/docker/docker 15 16DOCKER_ENGINE_CPE_ID_VENDOR = docker 17DOCKER_ENGINE_CPE_ID_PRODUCT = docker 18 19DOCKER_ENGINE_LDFLAGS = \ 20 -X $(DOCKER_ENGINE_GOMOD)/dockerversion.BuildTime="" \ 21 -X $(DOCKER_ENGINE_GOMOD)/dockerversion.GitCommit="buildroot" \ 22 -X $(DOCKER_ENGINE_GOMOD)/dockerversion.IAmStatic="false" \ 23 -X $(DOCKER_ENGINE_GOMOD)/dockerversion.InitCommitID="" \ 24 -X $(DOCKER_ENGINE_GOMOD)/dockerversion.Version="$(DOCKER_ENGINE_VERSION)" 25 26DOCKER_ENGINE_TAGS = cgo exclude_graphdriver_zfs 27DOCKER_ENGINE_BUILD_TARGETS = cmd/dockerd cmd/docker-proxy 28 29ifeq ($(BR2_PACKAGE_LIBAPPARMOR),y) 30DOCKER_ENGINE_DEPENDENCIES += libapparmor 31endif 32 33ifeq ($(BR2_INIT_SYSTEMD),y) 34DOCKER_ENGINE_DEPENDENCIES += systemd 35DOCKER_ENGINE_TAGS += systemd journald 36endif 37 38ifneq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS),y) 39DOCKER_ENGINE_TAGS += exclude_graphdriver_btrfs 40endif 41 42ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_DEVICEMAPPER),y) 43DOCKER_ENGINE_DEPENDENCIES += lvm2 44else 45DOCKER_ENGINE_TAGS += exclude_graphdriver_devicemapper 46endif 47 48ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_VFS),y) 49DOCKER_ENGINE_DEPENDENCIES += gvfs 50else 51DOCKER_ENGINE_TAGS += exclude_graphdriver_vfs 52endif 53 54# create the go.mod file with language version go1.19 55# remove the conflicting vendor/modules.txt 56# https://github.com/moby/moby/issues/44618#issuecomment-1343565705 57define DOCKER_ENGINE_FIX_VENDORING 58 printf "module $(DOCKER_ENGINE_GOMOD)\n\ngo 1.19\n" > $(@D)/go.mod 59 rm -f $(@D)/vendor/modules.txt 60endef 61DOCKER_ENGINE_POST_EXTRACT_HOOKS += DOCKER_ENGINE_FIX_VENDORING 62 63DOCKER_ENGINE_INSTALL_BINS = $(notdir $(DOCKER_ENGINE_BUILD_TARGETS)) 64 65define DOCKER_ENGINE_INSTALL_INIT_SYSTEMD 66 $(INSTALL) -D -m 0644 $(@D)/contrib/init/systemd/docker.service \ 67 $(TARGET_DIR)/usr/lib/systemd/system/docker.service 68 $(INSTALL) -D -m 0644 $(@D)/contrib/init/systemd/docker.socket \ 69 $(TARGET_DIR)/usr/lib/systemd/system/docker.socket 70endef 71 72define DOCKER_ENGINE_INSTALL_INIT_SYSV 73 $(INSTALL) -D -m 755 package/docker-engine/S60dockerd \ 74 $(TARGET_DIR)/etc/init.d/S60dockerd 75endef 76 77define DOCKER_ENGINE_USERS 78 - - docker -1 * - - - Docker Application Container Framework 79endef 80 81ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS),y) 82define DOCKER_ENGINE_DRIVER_BTRFS_LINUX_CONFIG_FIXUPS 83 $(call KCONFIG_ENABLE_OPT,CONFIG_BTRFS_FS) 84 $(call KCONFIG_ENABLE_OPT,CONFIG_BTRFS_FS_POSIX_ACL) 85endef 86endif 87 88ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_DEVICEMAPPER),y) 89define DOCKER_ENGINE_DRIVER_DM_LINUX_CONFIG_FIXUPS 90 $(call KCONFIG_ENABLE_OPT,CONFIG_MD) 91 $(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_DM) 92 $(call KCONFIG_ENABLE_OPT,CONFIG_MD_THIN_PROVISIONING) 93endef 94endif 95 96# based on contrib/check-config.sh 97define DOCKER_ENGINE_LINUX_CONFIG_FIXUPS 98 $(call KCONFIG_ENABLE_OPT,CONFIG_POSIX_MQUEUE) 99 $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS) 100 $(call KCONFIG_ENABLE_OPT,CONFIG_MEMCG) 101 $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_SCHED) 102 $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_FREEZER) 103 $(call KCONFIG_ENABLE_OPT,CONFIG_CPUSETS) 104 $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_DEVICE) 105 $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_CPUACCT) 106 $(call KCONFIG_ENABLE_OPT,CONFIG_NAMESPACES) 107 $(call KCONFIG_ENABLE_OPT,CONFIG_UTS_NS) 108 $(call KCONFIG_ENABLE_OPT,CONFIG_IPC_NS) 109 $(call KCONFIG_ENABLE_OPT,CONFIG_PID_NS) 110 $(call KCONFIG_ENABLE_OPT,CONFIG_NET_NS) 111 $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER) 112 $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_ADVANCED) 113 $(call KCONFIG_ENABLE_OPT,CONFIG_BRIDGE_NETFILTER) 114 $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK) 115 $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XTABLES) 116 $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_ADDRTYPE) 117 $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_CONNTRACK) 118 $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_IPVS) 119 $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_IPTABLES) 120 $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_FILTER) 121 $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_NAT) 122 $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_TARGET_MASQUERADE) 123 $(call KCONFIG_ENABLE_OPT,CONFIG_BRIDGE) 124 $(call KCONFIG_ENABLE_OPT,CONFIG_NET_CORE) 125 $(call KCONFIG_ENABLE_OPT,CONFIG_VETH) 126 $(call KCONFIG_ENABLE_OPT,CONFIG_OVERLAY_FS) 127 $(call KCONFIG_ENABLE_OPT,CONFIG_KEYS) 128 $(DOCKER_ENGINE_DRIVER_BTRFS_LINUX_CONFIG_FIXUPS) 129 $(DOCKER_ENGINE_DRIVER_DM_LINUX_CONFIG_FIXUPS) 130endef 131 132$(eval $(golang-package)) 133