1################################################################################ 2# 3# docker-engine 4# 5################################################################################ 6 7DOCKER_ENGINE_VERSION = 20.10.9 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 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 28 29ifeq ($(BR2_PACKAGE_LIBAPPARMOR),y) 30DOCKER_ENGINE_DEPENDENCIES += libapparmor 31DOCKER_ENGINE_TAGS += apparmor 32endif 33 34ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) 35DOCKER_ENGINE_TAGS += seccomp 36DOCKER_ENGINE_DEPENDENCIES += libseccomp 37endif 38 39ifeq ($(BR2_INIT_SYSTEMD),y) 40DOCKER_ENGINE_DEPENDENCIES += systemd 41DOCKER_ENGINE_TAGS += systemd journald 42endif 43ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_EXPERIMENTAL),y) 44DOCKER_ENGINE_TAGS += experimental 45endif 46 47ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS),y) 48DOCKER_ENGINE_DEPENDENCIES += btrfs-progs 49else 50DOCKER_ENGINE_TAGS += exclude_graphdriver_btrfs 51endif 52 53ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_DEVICEMAPPER),y) 54DOCKER_ENGINE_DEPENDENCIES += lvm2 55else 56DOCKER_ENGINE_TAGS += exclude_graphdriver_devicemapper 57endif 58 59ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_VFS),y) 60DOCKER_ENGINE_DEPENDENCIES += gvfs 61else 62DOCKER_ENGINE_TAGS += exclude_graphdriver_vfs 63endif 64 65DOCKER_ENGINE_INSTALL_BINS = $(notdir $(DOCKER_ENGINE_BUILD_TARGETS)) 66 67define DOCKER_ENGINE_INSTALL_INIT_SYSTEMD 68 $(INSTALL) -D -m 0644 $(@D)/contrib/init/systemd/docker.service \ 69 $(TARGET_DIR)/usr/lib/systemd/system/docker.service 70 $(INSTALL) -D -m 0644 $(@D)/contrib/init/systemd/docker.socket \ 71 $(TARGET_DIR)/usr/lib/systemd/system/docker.socket 72endef 73 74define DOCKER_ENGINE_INSTALL_INIT_SYSV 75 $(INSTALL) -D -m 755 package/docker-engine/S60dockerd \ 76 $(TARGET_DIR)/etc/init.d/S60dockerd 77endef 78 79define DOCKER_ENGINE_USERS 80 - - docker -1 * - - - Docker Application Container Framework 81endef 82 83ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS),y) 84define DOCKER_ENGINE_DRIVER_BTRFS_LINUX_CONFIG_FIXUPS 85 $(call KCONFIG_ENABLE_OPT,CONFIG_BTRFS_FS) 86 $(call KCONFIG_ENABLE_OPT,CONFIG_BTRFS_FS_POSIX_ACL) 87endef 88endif 89 90ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_DEVICEMAPPER),y) 91define DOCKER_ENGINE_DRIVER_DM_LINUX_CONFIG_FIXUPS 92 $(call KCONFIG_ENABLE_OPT,CONFIG_MD) 93 $(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_DM) 94 $(call KCONFIG_ENABLE_OPT,CONFIG_MD_THIN_PROVISIONING) 95endef 96endif 97 98# based on contrib/check-config.sh 99define DOCKER_ENGINE_LINUX_CONFIG_FIXUPS 100 $(call KCONFIG_ENABLE_OPT,CONFIG_POSIX_MQUEUE) 101 $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS) 102 $(call KCONFIG_ENABLE_OPT,CONFIG_MEMCG) 103 $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_SCHED) 104 $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_FREEZER) 105 $(call KCONFIG_ENABLE_OPT,CONFIG_CPUSETS) 106 $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_DEVICE) 107 $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_CPUACCT) 108 $(call KCONFIG_ENABLE_OPT,CONFIG_NAMESPACES) 109 $(call KCONFIG_ENABLE_OPT,CONFIG_UTS_NS) 110 $(call KCONFIG_ENABLE_OPT,CONFIG_IPC_NS) 111 $(call KCONFIG_ENABLE_OPT,CONFIG_PID_NS) 112 $(call KCONFIG_ENABLE_OPT,CONFIG_NET_NS) 113 $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER) 114 $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_ADVANCED) 115 $(call KCONFIG_ENABLE_OPT,CONFIG_BRIDGE_NETFILTER) 116 $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK) 117 $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XTABLES) 118 $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_ADDRTYPE) 119 $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_CONNTRACK) 120 $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_IPVS) 121 $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_IPTABLES) 122 $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_FILTER) 123 $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_NAT) 124 $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_TARGET_MASQUERADE) 125 $(call KCONFIG_ENABLE_OPT,CONFIG_BRIDGE) 126 $(call KCONFIG_ENABLE_OPT,CONFIG_NET_CORE) 127 $(call KCONFIG_ENABLE_OPT,CONFIG_DUMMY) 128 $(call KCONFIG_ENABLE_OPT,CONFIG_MACVLAN) 129 $(call KCONFIG_ENABLE_OPT,CONFIG_IPVLAN) 130 $(call KCONFIG_ENABLE_OPT,CONFIG_VXLAN) 131 $(call KCONFIG_ENABLE_OPT,CONFIG_VETH) 132 $(call KCONFIG_ENABLE_OPT,CONFIG_OVERLAY_FS) 133 $(call KCONFIG_ENABLE_OPT,CONFIG_KEYS) 134 $(DOCKER_ENGINE_DRIVER_BTRFS_LINUX_CONFIG_FIXUPS) 135 $(DOCKER_ENGINE_DRIVER_DM_LINUX_CONFIG_FIXUPS) 136endef 137 138$(eval $(golang-package)) 139