Gentoo Archives: gentoo-commits

From: "Manuel Rüger" <mrueg@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/docker/
Date: Thu, 29 Jun 2017 09:42:09
Message-Id: 1498729308.f2acec39758afd7ec91252823b4d598815d6e54c.mrueg@gentoo
1 commit: f2acec39758afd7ec91252823b4d598815d6e54c
2 Author: Manuel Rüger <mrueg <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jun 29 09:41:48 2017 +0000
4 Commit: Manuel Rüger <mrueg <AT> gentoo <DOT> org>
5 CommitDate: Thu Jun 29 09:41:48 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2acec39
7
8 app-emulation/docker: Remove old
9
10 Package-Manager: Portage-2.3.6, Repoman-2.3.2
11
12 app-emulation/docker/Manifest | 2 -
13 app-emulation/docker/docker-1.12.6.ebuild | 291 -----------------------------
14 app-emulation/docker/docker-17.05.0.ebuild | 290 ----------------------------
15 app-emulation/docker/metadata.xml | 4 -
16 4 files changed, 587 deletions(-)
17
18 diff --git a/app-emulation/docker/Manifest b/app-emulation/docker/Manifest
19 index d794e3b8f97..48608ed07c7 100644
20 --- a/app-emulation/docker/Manifest
21 +++ b/app-emulation/docker/Manifest
22 @@ -1,6 +1,4 @@
23 -DIST docker-1.12.6.tar.gz 13694205 SHA256 0413f3513c2a6842ed9cf837154c8a722e9b34cb36b33430348489baa183707e SHA512 98e0fa0ec0dad4d392188b0d2cf42b2b564403463c369e1fe060f1abc2e97d97375a88587080671ef905e6a34b991d83265f43c3112575af019cf85eef0c2c25 WHIRLPOOL 55d10e4c4ab960320094637a847768ad85dc1fccaa6cc77ea0ca82f2d23b27e92e2f2c0cbc03f53676012c95883f65c6fa16d26970138fa129d37bf278fc8c0b
24 DIST docker-17.03.1.tar.gz 7773296 SHA256 a8f1eefadf3966885ad0579facfc2017cca7dd3a0b20d086dfd798168716cb83 SHA512 51e2a9d6ca529ac67d63794b9fd257f962278019ae1a36a39ff635c742d6ca16286cc164470333ff6cd88d709ecf2cb90343b2dd94bb3939747550f74fb442d5 WHIRLPOOL 9178bdf5b13851650e31d95370a090a72c8c70b53416e83693ffbdbc549d3992f3004908c1db5b26c013552f02293dddf9f761b8b5b9d2e0f0bf7cfab5330ca9
25 DIST docker-17.03.2.tar.gz 7783969 SHA256 171a65c44340c7b5710da6948b0afb9306b126b36c531ddab1a3653fd2980aaa SHA512 9fad6c1fa38f9a14208547ca2d3d6a11a565fe4cebd7b432ccad9e2a57ab4a005df20415d1c797f747a99d309b07d8ec97bb45c67644554622aafe0bf1893e04 WHIRLPOOL e34f04698e4a510ed26c9e8f87510878a940d77dc7558df40173a8ea452a2843327196dea3099844dc389a051e23294671b3bc835120af3ca1f4c9c758de44a3
26 -DIST docker-17.05.0.tar.gz 7166613 SHA256 4716df117d867b82ddab2e82395cd40aa3d0925a689eedcec8919729e4c9f121 SHA512 9d4fea1d6ce2ca3d65e6d2e6d2a0629ec0dbbc3397088ffb1e608b31d705a380356df0b23bb87b86ef51660e5196beffc90602bf59d8c5138c0e4f906fafe441 WHIRLPOOL c87e985360a0997ba3172c304101754d553bd503f5108809f1e788355dac50bc850ded0e1efccad6e332ac22fe0c5807a3d5354fab5bfd754fdec99d16b07bfb
27 DIST docker-17.06.0.tar.gz 10397351 SHA256 60c2541327a27b03d3a7eaea713d89e8e03a2585f00033c6c662fc60eade57ab SHA512 fc2385905bb99379555bcf731c70b0902180aa87fca72c0c01bdf73d01faeb04d3cde948b337625f2bb7c2444b3c503116662ac97e468546abb5d4ddaa434eec WHIRLPOOL ed5923efbd0c2742a44b2772633e2d8f7a05e133d6b39bf22be57dcf13df02bbc63b165b4be9c2f82984554570427c9ee00905d0af387d9fa6f7d1a8635cccd8
28 DIST docker-17.06.0_rc5.tar.gz 10397897 SHA256 bf47359a4d23e6269e7e11e3ebed4dbdf3e3f7f3552a0ac0229a4193f024fa37 SHA512 a11f06ca9dfd87bfd3a72fb7542bea72abede6d9818da30ef482bf91a2c6134788a9e4d032b80e86135970927f5247bdfd0996644787d027e36a49c2caa9d5f4 WHIRLPOOL fe2c29e2a6b0686c5acb2a14391c788af1dea8d462f877f4c1c184c72bc49a9b01b2ce3e3e9482b9716edc9afd05568579ecd770d0ac438690f1375dcf6b2739
29
30 diff --git a/app-emulation/docker/docker-1.12.6.ebuild b/app-emulation/docker/docker-1.12.6.ebuild
31 deleted file mode 100644
32 index e8bde83ded2..00000000000
33 --- a/app-emulation/docker/docker-1.12.6.ebuild
34 +++ /dev/null
35 @@ -1,291 +0,0 @@
36 -# Copyright 1999-2017 Gentoo Foundation
37 -# Distributed under the terms of the GNU General Public License v2
38 -
39 -EAPI=6
40 -
41 -EGO_PN="github.com/docker/docker"
42 -
43 -if [[ ${PV} = *9999* ]]; then
44 - # Docker cannot be fetched via "go get", thanks to autogenerated code
45 - EGIT_REPO_URI="https://${EGO_PN}.git"
46 - EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
47 - inherit git-r3
48 -else
49 - MY_PV="${PV/_/-}"
50 - DOCKER_GITCOMMIT="78d1802"
51 - EGIT_COMMIT="v${MY_PV}"
52 - SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
53 - KEYWORDS="amd64"
54 - [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
55 - inherit golang-vcs-snapshot
56 -fi
57 -inherit bash-completion-r1 golang-base linux-info systemd udev user
58 -
59 -DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
60 -HOMEPAGE="https://dockerproject.org"
61 -LICENSE="Apache-2.0"
62 -SLOT="0"
63 -IUSE="apparmor aufs btrfs +device-mapper experimental hardened overlay seccomp"
64 -
65 -# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
66 -CDEPEND="
67 - >=dev-db/sqlite-3.7.9:3
68 - device-mapper? (
69 - >=sys-fs/lvm2-2.02.89[thin]
70 - )
71 - seccomp? ( >=sys-libs/libseccomp-2.2.1 )
72 - apparmor? ( sys-libs/libapparmor )
73 -"
74 -
75 -DEPEND="
76 - ${CDEPEND}
77 -
78 - dev-go/go-md2man
79 -
80 - btrfs? (
81 - >=sys-fs/btrfs-progs-3.16.1
82 - )
83 -"
84 -
85 -# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
86 -# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#optional-dependencies
87 -RDEPEND="
88 - ${CDEPEND}
89 -
90 - !app-emulation/docker-bin
91 - >=net-firewall/iptables-1.4
92 - sys-process/procps
93 - >=dev-vcs/git-1.7
94 - >=app-arch/xz-utils-4.9
95 -
96 - >=app-emulation/containerd-0.2.5
97 - >=app-emulation/runc-1.0.0_rc2-r2[apparmor?,seccomp?]
98 -"
99 -
100 -RESTRICT="installsources strip"
101 -
102 -S="${WORKDIR}/${P}/src/${EGO_PN}"
103 -
104 -# see "contrib/check-config.sh" from upstream's sources
105 -CONFIG_CHECK="
106 - ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
107 - ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
108 - ~KEYS
109 - ~VETH ~BRIDGE ~BRIDGE_NETFILTER
110 - ~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
111 - ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK
112 - ~NF_NAT ~NF_NAT_NEEDED
113 - ~POSIX_MQUEUE
114 -
115 - ~USER_NS
116 - ~SECCOMP
117 - ~CGROUP_PIDS
118 - ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
119 -
120 - ~BLK_CGROUP ~BLK_DEV_THROTTLING ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED
121 - ~CGROUP_PERF
122 - ~CGROUP_HUGETLB
123 - ~NET_CLS_CGROUP
124 - ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
125 - ~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT
126 -
127 - ~VXLAN
128 - ~XFRM_ALGO ~XFRM_USER
129 - ~IPVLAN
130 - ~MACVLAN ~DUMMY
131 -"
132 -
133 -ERROR_KEYS="CONFIG_KEYS: is mandatory"
134 -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
135 -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
136 -
137 -ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
138 -ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
139 -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
140 -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
141 -ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks"
142 -ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks"
143 -
144 -pkg_setup() {
145 - if kernel_is lt 3 10; then
146 - ewarn ""
147 - ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
148 - ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies"
149 - fi
150 -
151 - # for where these kernel versions come from, see:
152 - # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
153 - if ! {
154 - kernel_is ge 3 16 \
155 - || { kernel_is 3 15 && kernel_is ge 3 15 5; } \
156 - || { kernel_is 3 14 && kernel_is ge 3 14 12; } \
157 - || { kernel_is 3 12 && kernel_is ge 3 12 25; }
158 - }; then
159 - ewarn ""
160 - ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
161 - ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
162 - ewarn ""
163 - ewarn "See also https://github.com/docker/docker/issues/2960"
164 - fi
165 -
166 - if kernel_is le 3 18; then
167 - CONFIG_CHECK+="
168 - ~RESOURCE_COUNTERS
169 - "
170 - fi
171 -
172 - if kernel_is le 3 13; then
173 - CONFIG_CHECK+="
174 - ~NETPRIO_CGROUP
175 - "
176 - else
177 - CONFIG_CHECK+="
178 - ~CGROUP_NET_PRIO
179 - "
180 - fi
181 -
182 - if kernel_is lt 4 5; then
183 - CONFIG_CHECK+="
184 - ~MEMCG_KMEM
185 - "
186 - ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
187 - fi
188 -
189 - if kernel_is lt 4 7; then
190 - CONFIG_CHECK+="
191 - ~DEVPTS_MULTIPLE_INSTANCES
192 - "
193 - fi
194 -
195 - if use aufs; then
196 - CONFIG_CHECK+="
197 - ~AUFS_FS
198 - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
199 - "
200 - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
201 - fi
202 -
203 - if use btrfs; then
204 - CONFIG_CHECK+="
205 - ~BTRFS_FS
206 - ~BTRFS_FS_POSIX_ACL
207 - "
208 - fi
209 -
210 - if use device-mapper; then
211 - CONFIG_CHECK+="
212 - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
213 - "
214 - fi
215 -
216 - if use overlay; then
217 - CONFIG_CHECK+="
218 - ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
219 - "
220 - fi
221 -
222 - linux-info_pkg_setup
223 -
224 - # create docker group for the code checking for it in /etc/group
225 - enewgroup docker
226 -}
227 -
228 -src_compile() {
229 - export GOPATH="${WORKDIR}/${P}:${PWD}/vendor"
230 -
231 - # setup CFLAGS and LDFLAGS for separate build target
232 - # see https://github.com/tianon/docker-overlay/pull/10
233 - export CGO_CFLAGS="-I${ROOT}/usr/include"
234 - export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
235 -
236 - # if we're building from a tarball, we need the GITCOMMIT value
237 - [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
238 -
239 - if use hardened; then
240 - sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
241 - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
242 -
243 - sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
244 - -i hack/make/dynbinary-client || die
245 - sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
246 - -i hack/make/dynbinary-daemon || die
247 - grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
248 - grep -q -- '-fno-PIC' hack/make/dynbinary-client || die 'hardened sed failed'
249 - fi
250 -
251 - # let's set up some optional features :)
252 - export DOCKER_BUILDTAGS=''
253 - for gd in aufs btrfs device-mapper overlay; do
254 - if ! use $gd; then
255 - DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
256 - fi
257 - done
258 -
259 - for tag in apparmor seccomp; do
260 - if use $tag; then
261 - DOCKER_BUILDTAGS+=" $tag"
262 - fi
263 - done
264 -
265 - # https://github.com/docker/docker/pull/13338
266 - if use experimental; then
267 - export DOCKER_EXPERIMENTAL=1
268 - else
269 - unset DOCKER_EXPERIMENTAL
270 - fi
271 -
272 - # time to build!
273 - ./hack/make.sh dynbinary || die 'dynbinary failed'
274 -
275 - # build the man pages too
276 - ./man/md2man-all.sh || die "unable to generate man pages"
277 -}
278 -
279 -src_install() {
280 - VERSION="$(cat VERSION)"
281 - newbin "bundles/$VERSION/dynbinary-client/docker-$VERSION" docker
282 - newbin "bundles/$VERSION/dynbinary-daemon/dockerd-$VERSION" dockerd
283 - newbin "bundles/$VERSION/dynbinary-daemon/docker-proxy-$VERSION" docker-proxy
284 - dosym containerd /usr/bin/docker-containerd
285 - dosym containerd-shim /usr/bin/docker-containerd-shim
286 - dosym runc /usr/bin/docker-runc
287 -
288 - newinitd contrib/init/openrc/docker.initd docker
289 - newconfd contrib/init/openrc/docker.confd docker
290 -
291 - systemd_dounit contrib/init/systemd/docker.{service,socket}
292 -
293 - udev_dorules contrib/udev/*.rules
294 -
295 - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
296 - dodoc -r docs/*
297 - doman man/man*/*
298 -
299 - dobashcomp contrib/completion/bash/*
300 -
301 - insinto /usr/share/zsh/site-functions
302 - doins contrib/completion/zsh/_*
303 -
304 - insinto /usr/share/vim/vimfiles
305 - doins -r contrib/syntax/vim/ftdetect
306 - doins -r contrib/syntax/vim/syntax
307 -
308 - # note: intentionally not using "doins" so that we preserve +x bits
309 - dodir /usr/share/${PN}/contrib
310 - cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
311 -}
312 -
313 -pkg_postinst() {
314 - udev_reload
315 -
316 - elog
317 - elog "To use Docker, the Docker daemon must be running as root. To automatically"
318 - elog "start the Docker daemon at boot, add Docker to the default runlevel:"
319 - elog " rc-update add docker default"
320 - elog "Similarly for systemd:"
321 - elog " systemctl enable docker.service"
322 - elog
323 - elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
324 - elog " usermod -aG docker youruser"
325 - elog
326 -}
327
328 diff --git a/app-emulation/docker/docker-17.05.0.ebuild b/app-emulation/docker/docker-17.05.0.ebuild
329 deleted file mode 100644
330 index a852f28c1e7..00000000000
331 --- a/app-emulation/docker/docker-17.05.0.ebuild
332 +++ /dev/null
333 @@ -1,290 +0,0 @@
334 -# Copyright 1999-2017 Gentoo Foundation
335 -# Distributed under the terms of the GNU General Public License v2
336 -
337 -EAPI=6
338 -
339 -EGO_PN="github.com/docker/docker"
340 -
341 -if [[ ${PV} = *9999* ]]; then
342 - # Docker cannot be fetched via "go get", thanks to autogenerated code
343 - EGIT_REPO_URI="https://${EGO_PN}.git"
344 - EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
345 - inherit git-r3
346 -else
347 - inherit versionator
348 - MY_PV="$(get_version_component_range 1-3)"
349 - [[ -n "$(get_version_component_range 4)" ]] && MY_PVRC="-$(get_version_component_range 4)" || MY_PVRC=""
350 - DOCKER_GITCOMMIT="89658be"
351 - EGIT_COMMIT="v${MY_PV}-ce${MY_PVRC}"
352 - SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
353 - KEYWORDS="~amd64 ~arm"
354 - [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
355 - inherit golang-vcs-snapshot
356 -fi
357 -inherit bash-completion-r1 golang-base linux-info systemd udev user
358 -
359 -DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
360 -HOMEPAGE="https://dockerproject.org"
361 -LICENSE="Apache-2.0"
362 -SLOT="0"
363 -IUSE="apparmor aufs btrfs +container-init +device-mapper hardened overlay pkcs11 seccomp"
364 -
365 -# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
366 -CDEPEND="
367 - >=dev-db/sqlite-3.7.9:3
368 - device-mapper? (
369 - >=sys-fs/lvm2-2.02.89[thin]
370 - )
371 - seccomp? ( >=sys-libs/libseccomp-2.2.1 )
372 - apparmor? ( sys-libs/libapparmor )
373 -"
374 -
375 -DEPEND="
376 - ${CDEPEND}
377 -
378 - dev-go/go-md2man
379 -
380 - btrfs? (
381 - >=sys-fs/btrfs-progs-3.16.1
382 - )
383 -"
384 -
385 -# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
386 -# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#optional-dependencies
387 -# Runc/Containerd: Unfortunately docker does not version the releases, in order to avoid
388 -# incompatiblities we depend on snapshots
389 -RDEPEND="
390 - ${CDEPEND}
391 -
392 - !app-emulation/docker-bin
393 - >=net-firewall/iptables-1.4
394 - sys-process/procps
395 - >=dev-vcs/git-1.7
396 - >=app-arch/xz-utils-4.9
397 -
398 - >=app-emulation/containerd-0.2.7
399 - ~app-emulation/docker-runc-1.0.0_rc2_p20170310[apparmor?,seccomp?]
400 - app-emulation/docker-proxy
401 - container-init? ( >=sys-process/tini-0.13.1[static] )
402 -"
403 -
404 -RESTRICT="installsources strip"
405 -
406 -S="${WORKDIR}/${P}/src/${EGO_PN}"
407 -
408 -# see "contrib/check-config.sh" from upstream's sources
409 -CONFIG_CHECK="
410 - ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
411 - ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
412 - ~KEYS
413 - ~VETH ~BRIDGE ~BRIDGE_NETFILTER
414 - ~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
415 - ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK
416 - ~NF_NAT ~NF_NAT_NEEDED
417 - ~POSIX_MQUEUE
418 -
419 - ~USER_NS
420 - ~SECCOMP
421 - ~CGROUP_PIDS
422 - ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
423 -
424 - ~BLK_CGROUP ~BLK_DEV_THROTTLING ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED
425 - ~CGROUP_PERF
426 - ~CGROUP_HUGETLB
427 - ~NET_CLS_CGROUP
428 - ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
429 - ~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR
430 -
431 - ~VXLAN
432 - ~XFRM_ALGO ~XFRM_USER
433 - ~IPVLAN
434 - ~MACVLAN ~DUMMY
435 -"
436 -
437 -ERROR_KEYS="CONFIG_KEYS: is mandatory"
438 -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
439 -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
440 -
441 -ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
442 -ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
443 -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
444 -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
445 -ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks"
446 -ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks"
447 -
448 -pkg_setup() {
449 - if kernel_is lt 3 10; then
450 - ewarn ""
451 - ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
452 - ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies"
453 - fi
454 -
455 - # for where these kernel versions come from, see:
456 - # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
457 - if ! {
458 - kernel_is ge 3 16 \
459 - || { kernel_is 3 15 && kernel_is ge 3 15 5; } \
460 - || { kernel_is 3 14 && kernel_is ge 3 14 12; } \
461 - || { kernel_is 3 12 && kernel_is ge 3 12 25; }
462 - }; then
463 - ewarn ""
464 - ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
465 - ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
466 - ewarn ""
467 - ewarn "See also https://github.com/docker/docker/issues/2960"
468 - fi
469 -
470 - if kernel_is le 3 18; then
471 - CONFIG_CHECK+="
472 - ~RESOURCE_COUNTERS
473 - "
474 - fi
475 -
476 - if kernel_is le 3 13; then
477 - CONFIG_CHECK+="
478 - ~NETPRIO_CGROUP
479 - "
480 - else
481 - CONFIG_CHECK+="
482 - ~CGROUP_NET_PRIO
483 - "
484 - fi
485 -
486 - if kernel_is lt 4 5; then
487 - CONFIG_CHECK+="
488 - ~MEMCG_KMEM
489 - "
490 - ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
491 - fi
492 -
493 - if kernel_is lt 4 7; then
494 - CONFIG_CHECK+="
495 - ~DEVPTS_MULTIPLE_INSTANCES
496 - "
497 - fi
498 -
499 - if use aufs; then
500 - CONFIG_CHECK+="
501 - ~AUFS_FS
502 - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
503 - "
504 - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
505 - fi
506 -
507 - if use btrfs; then
508 - CONFIG_CHECK+="
509 - ~BTRFS_FS
510 - ~BTRFS_FS_POSIX_ACL
511 - "
512 - fi
513 -
514 - if use device-mapper; then
515 - CONFIG_CHECK+="
516 - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
517 - "
518 - fi
519 -
520 - if use overlay; then
521 - CONFIG_CHECK+="
522 - ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
523 - "
524 - fi
525 -
526 - linux-info_pkg_setup
527 -
528 - # create docker group for the code checking for it in /etc/group
529 - enewgroup docker
530 -}
531 -
532 -src_compile() {
533 - export GOPATH="${WORKDIR}/${P}:${PWD}/vendor"
534 -
535 - # setup CFLAGS and LDFLAGS for separate build target
536 - # see https://github.com/tianon/docker-overlay/pull/10
537 - export CGO_CFLAGS="-I${ROOT}/usr/include"
538 - export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
539 -
540 - # if we're building from a tarball, we need the GITCOMMIT value
541 - [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
542 -
543 - if use hardened; then
544 - sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
545 - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
546 -
547 - sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
548 - -i hack/make/dynbinary-client || die
549 - sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
550 - -i hack/make/dynbinary-daemon || die
551 - grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
552 - grep -q -- '-fno-PIC' hack/make/dynbinary-client || die 'hardened sed failed'
553 - fi
554 -
555 - # let's set up some optional features :)
556 - export DOCKER_BUILDTAGS=''
557 - for gd in aufs btrfs device-mapper overlay; do
558 - if ! use $gd; then
559 - DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
560 - fi
561 - done
562 -
563 - for tag in apparmor pkcs11 seccomp; do
564 - if use $tag; then
565 - DOCKER_BUILDTAGS+=" $tag"
566 - fi
567 - done
568 -
569 - # time to build!
570 - ./hack/make.sh dynbinary || die 'dynbinary failed'
571 -
572 - # build the man pages too
573 - ./man/md2man-all.sh || die "unable to generate man pages"
574 -}
575 -
576 -src_install() {
577 - VERSION="$(cat VERSION)"
578 - newbin "bundles/$VERSION/dynbinary-client/docker-$VERSION" docker
579 - newbin "bundles/$VERSION/dynbinary-daemon/dockerd-$VERSION" dockerd
580 - dosym containerd /usr/bin/docker-containerd
581 - dosym containerd-shim /usr/bin/docker-containerd-shim
582 - dosym runc /usr/bin/docker-runc
583 - use container-init && dosym tini /usr/bin/docker-init
584 -
585 - newinitd contrib/init/openrc/docker.initd docker
586 - newconfd contrib/init/openrc/docker.confd docker
587 -
588 - systemd_dounit contrib/init/systemd/docker.{service,socket}
589 -
590 - udev_dorules contrib/udev/*.rules
591 -
592 - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
593 - dodoc -r docs/*
594 - doman man/man*/*
595 -
596 - dobashcomp contrib/completion/bash/*
597 -
598 - insinto /usr/share/zsh/site-functions
599 - doins contrib/completion/zsh/_*
600 -
601 - insinto /usr/share/vim/vimfiles
602 - doins -r contrib/syntax/vim/ftdetect
603 - doins -r contrib/syntax/vim/syntax
604 -
605 - # note: intentionally not using "doins" so that we preserve +x bits
606 - dodir /usr/share/${PN}/contrib
607 - cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
608 -}
609 -
610 -pkg_postinst() {
611 - udev_reload
612 -
613 - elog
614 - elog "To use Docker, the Docker daemon must be running as root. To automatically"
615 - elog "start the Docker daemon at boot, add Docker to the default runlevel:"
616 - elog " rc-update add docker default"
617 - elog "Similarly for systemd:"
618 - elog " systemctl enable docker.service"
619 - elog
620 - elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
621 - elog " usermod -aG docker youruser"
622 - elog
623 -}
624
625 diff --git a/app-emulation/docker/metadata.xml b/app-emulation/docker/metadata.xml
626 index c65095ed99e..16f7009d5ea 100644
627 --- a/app-emulation/docker/metadata.xml
628 +++ b/app-emulation/docker/metadata.xml
629 @@ -40,10 +40,6 @@
630 Enables dependencies for the "devicemapper" graph driver, including
631 necessary kernel flags.
632 </flag>
633 - <flag name="experimental">
634 - Enable features labelled by upstream to be of "experimental"
635 - quality and not yet ready for general consumption.
636 - </flag>
637 <flag name="overlay">
638 Enables dependencies for the "overlay" graph driver, including
639 necessary kernel flags.