1 ################################################################################
5 ################################################################################
7 DOCKER_ENGINE_VERSION
= v1.12
.2
8 DOCKER_ENGINE_SITE
= $(call github
,docker
,docker
,$(DOCKER_ENGINE_VERSION
))
10 DOCKER_ENGINE_LICENSE
= Apache-2.0
11 DOCKER_ENGINE_LICENSE_FILES
= LICENSE
13 DOCKER_ENGINE_DEPENDENCIES
= host-go
15 DOCKER_ENGINE_GOPATH
= "$(@D)/vendor"
16 DOCKER_ENGINE_MAKE_ENV
= $(HOST_GO_TARGET_ENV
) \
20 GOPATH
="$(DOCKER_ENGINE_GOPATH)"
22 DOCKER_ENGINE_GLDFLAGS
= \
23 -X main.GitCommit
=$(DOCKER_ENGINE_VERSION
) \
24 -X main.Version
=$(DOCKER_ENGINE_VERSION
)
26 ifeq ($(BR2_STATIC_LIBS
),y
)
27 DOCKER_ENGINE_GLDFLAGS
+= -extldflags
'-static'
30 DOCKER_ENGINE_BUILD_TAGS
= cgo exclude_graphdriver_zfs autogen
31 DOCKER_ENGINE_BUILD_TARGETS
= docker
33 ifeq ($(BR2_PACKAGE_LIBSECCOMP
),y
)
34 DOCKER_ENGINE_BUILD_TAGS
+= seccomp
35 DOCKER_ENGINE_DEPENDENCIES
+= libseccomp
38 ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DAEMON
),y
)
39 DOCKER_ENGINE_BUILD_TAGS
+= daemon
40 DOCKER_ENGINE_BUILD_TARGETS
+= dockerd
43 ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_EXPERIMENTAL
),y
)
44 DOCKER_ENGINE_BUILD_TAGS
+= experimental
47 ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS
),y
)
48 DOCKER_ENGINE_DEPENDENCIES
+= btrfs-progs
50 DOCKER_ENGINE_BUILD_TAGS
+= exclude_graphdriver_btrfs
53 ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_DEVICEMAPPER
),y
)
54 DOCKER_ENGINE_DEPENDENCIES
+= lvm2
56 DOCKER_ENGINE_BUILD_TAGS
+= exclude_graphdriver_devicemapper
59 ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_VFS
),y
)
60 DOCKER_ENGINE_DEPENDENCIES
+= gvfs
62 DOCKER_ENGINE_BUILD_TAGS
+= exclude_graphdriver_vfs
65 define DOCKER_ENGINE_CONFIGURE_CMDS
66 ln
-fs
$(@D
) $(DOCKER_ENGINE_GOPATH
)/src
/github.com
/docker
/docker
68 GITCOMMIT
="unknown" BUILDTIME
="$$(date)" VERSION
="$(DOCKER_ENGINE_VERSION)" \
69 bash .
/hack
/make
/.go-autogen
72 ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DAEMON
),y
)
74 define DOCKER_ENGINE_INSTALL_INIT_SYSTEMD
75 $(INSTALL
) -D
-m
0644 $(@D
)/contrib
/init
/systemd
/docker.service \
76 $(TARGET_DIR
)/usr
/lib
/systemd
/system
/docker.service
77 $(INSTALL
) -D
-m
0644 $(@D
)/contrib
/init
/systemd
/docker.socket \
78 $(TARGET_DIR
)/usr
/lib
/systemd
/system
/docker.socket
79 mkdir
-p
$(TARGET_DIR
)/etc
/systemd
/system
/multi-user.target.wants
/
80 ln
-fs ..
/..
/..
/..
/usr
/lib
/systemd
/system
/docker.service \
81 $(TARGET_DIR
)/etc
/systemd
/system
/multi-user.target.wants
/docker.service
84 define DOCKER_ENGINE_USERS
85 - - docker
-1 * - - - Docker Application Container Framework
90 define DOCKER_ENGINE_BUILD_CMDS
91 $(foreach target
,$(DOCKER_ENGINE_BUILD_TARGETS
), \
92 cd
$(@D
); $(DOCKER_ENGINE_MAKE_ENV
) \
93 $(HOST_DIR
)/usr
/bin
/go build
-v \
94 -o
$(@D
)/bin
/$(target
) \
95 -tags "$(DOCKER_ENGINE_BUILD_TAGS)" \
96 -ldflags "$(DOCKER_ENGINE_GLDFLAGS)" \
101 define DOCKER_ENGINE_INSTALL_TARGET_CMDS
102 $(foreach target
,$(DOCKER_ENGINE_BUILD_TARGETS
), \
103 $(INSTALL
) -D
-m
0755 $(@D
)/bin
/$(target
) $(TARGET_DIR
)/usr
/bin
/$(target
)
107 $(eval
$(generic-package
))