Gentoo Archives: gentoo-commits

From: William Hubbs <williamh@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/docker/
Date: Tue, 01 Nov 2016 22:22:20
Message-Id: 1478038921.c1f4380b6a6d4c75ad1d991a93769f785e03cc37.williamh@gentoo
1 commit: c1f4380b6a6d4c75ad1d991a93769f785e03cc37
2 Author: William Hubbs <williamh <AT> gentoo <DOT> org>
3 AuthorDate: Tue Nov 1 22:20:26 2016 +0000
4 Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
5 CommitDate: Tue Nov 1 22:22:01 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1f4380b
7
8 app-emulation/docker: Remove old 1.12.x versions
9
10 Package-Manager: portage-2.3.0
11
12 app-emulation/docker/Manifest | 3 -
13 app-emulation/docker/docker-1.12.0.ebuild | 286 -----------------------------
14 app-emulation/docker/docker-1.12.1.ebuild | 286 -----------------------------
15 app-emulation/docker/docker-1.12.2.ebuild | 292 ------------------------------
16 4 files changed, 867 deletions(-)
17
18 diff --git a/app-emulation/docker/Manifest b/app-emulation/docker/Manifest
19 index 4fca8a0..8076d21 100644
20 --- a/app-emulation/docker/Manifest
21 +++ b/app-emulation/docker/Manifest
22 @@ -1,5 +1,2 @@
23 DIST docker-1.11.0.tar.gz 10637394 SHA256 088869b9a19ae17656e068aa6d3d473866e8133365427c601c671da1b2189057 SHA512 ecb7f531a5632fd6274e3eec59a5194c61d0788ab9f3864845cbc248232c2f14671a26c34abab8c5ca85ce6106ae72ea3ae4e5d133ad1efb126069ae82a2dba0 WHIRLPOOL 20b0ef1642d2fea2ae186a17786d95f138fb7df92daa104f00c481488f82eadd5e8f27a0a8e926d68f495fd62bc132d83817a0831f84b3786474a9408d87878f
24 -DIST docker-1.12.0.tar.gz 13018773 SHA256 f8139acba98248eb1fdb0b6d94efee89b876f9a50d00e263dc144fd2b0c372d4 SHA512 113707c0447bc096dc59204a1666b9f3a4e92d0ad89f016a0259734d6eee47861d5a6b1febab61f357212f0b4ffceea7ed3a53f883a748604aeb65bb5701413b WHIRLPOOL aa817e74c00b3f4ec9f494336a8a2f46d41ff978a4d04f4400a3f6ba21b4271a8f80b3708c4e18f9517f974f8e4f59194edbd57e3a662910cb01483fa6332b48
25 -DIST docker-1.12.1.tar.gz 13135631 SHA256 0c71255fc69ffec377800468e2b1c97681f150f3719ffa09829a17b717ff4e01 SHA512 8917e23d2826f45951710dcc47625c272405466661b7fa6b75fb7e143fdcc5c78cbf6a7475663b96b22126ba3c2dab3b3a8c11ca396dc8408d1aa9f2667c95e7 WHIRLPOOL 915707b6563f10670678b064031173e58a2aa9e380fbd95f0a11951ece3f7d53fbb5a62241a611bafb66edc116cfd9de62d144d62abcb4e2cd43e125863ab0b9
26 -DIST docker-1.12.2.tar.gz 13680145 SHA256 29bc203e483c81c9a337b4a4186e6b0a23984c518b09478d8718c616b5923e88 SHA512 ef8dc9ee4817bad757f5e3396a7062076415305fe5e3ea3a8e04b3d4690119d27e81429d34450de7119c3039231b1e501806962cd529bb10d33c0884a9c05729 WHIRLPOOL f313383842f2e0e9ca7805c239da84283de9ac5c8778a501bb76f4be6b166b07394112b0fea88e52baa3e17094dbc569ccc2ac9b4ed493873e4210893e8115cc
27 DIST docker-1.12.3.tar.gz 13678274 SHA256 cf4f876593abde06b4c19f971163a853a21b1992d75bd2fe5d8bea9015b09f87 SHA512 8577bcfe892d1fae6ca4edcd72c1a1c0a223ea3e322f3b63674dcb4833605c2dd2365cf376e4e08c0a900db50a927aaa0518ceb25f9542fe30c52a28903b0201 WHIRLPOOL 853f0a55836d4a34010f87399e875b9402703f1fb665e760255b198da6a68417c50b162cffe65e2c704e076be0520e3ecdb1418749cd3ddf63f426851bc0fbde
28
29 diff --git a/app-emulation/docker/docker-1.12.0.ebuild b/app-emulation/docker/docker-1.12.0.ebuild
30 deleted file mode 100644
31 index 9eef62f..00000000
32 --- a/app-emulation/docker/docker-1.12.0.ebuild
33 +++ /dev/null
34 @@ -1,286 +0,0 @@
35 -# Copyright 1999-2016 Gentoo Foundation
36 -# Distributed under the terms of the GNU General Public License v2
37 -# $Id$
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="8eab29e"
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 overlay seccomp"
64 -
65 -# https://github.com/docker/docker/blob/master/hack/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.8
82 - )
83 -"
84 -
85 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies
86 -# https://github.com/docker/docker/blob/master/hack/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.2
97 - app-emulation/runc[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 ~MACVLAN ~VETH ~BRIDGE ~BRIDGE_NETFILTER
109 - ~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_MANGLE ~IP_NF_TARGET_MASQUERADE
110 - ~IP_VS ~IP_VS_RR
111 - ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK
112 - ~NETFILTER_XT_MATCH_IPVS
113 - ~NETFILTER_XT_MARK ~NETFILTER_XT_TARGET_REDIRECT
114 - ~NF_NAT ~NF_NAT_NEEDED
115 -
116 - ~POSIX_MQUEUE
117 -
118 - ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
119 -
120 - ~BLK_CGROUP ~IOSCHED_CFQ
121 - ~CGROUP_PERF
122 - ~CGROUP_HUGETLB
123 - ~NET_CLS_CGROUP
124 - ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
125 - ~XFRM_ALGO ~XFRM_USER
126 -"
127 -
128 -ERROR_KEYS="CONFIG_KEYS: is mandatory"
129 -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
130 -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
131 -
132 -ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
133 -ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
134 -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
135 -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
136 -ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks"
137 -ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks"
138 -
139 -pkg_setup() {
140 - if kernel_is lt 3 10; then
141 - ewarn ""
142 - ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
143 - ewarn " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies"
144 - fi
145 -
146 - # for where these kernel versions come from, see:
147 - # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
148 - if ! {
149 - kernel_is ge 3 16 \
150 - || { kernel_is 3 15 && kernel_is ge 3 15 5; } \
151 - || { kernel_is 3 14 && kernel_is ge 3 14 12; } \
152 - || { kernel_is 3 12 && kernel_is ge 3 12 25; }
153 - }; then
154 - ewarn ""
155 - ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
156 - ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
157 - ewarn ""
158 - ewarn "See also https://github.com/docker/docker/issues/2960"
159 - fi
160 -
161 - if kernel_is le 3 18; then
162 - CONFIG_CHECK+="
163 - ~RESOURCE_COUNTERS
164 - "
165 - fi
166 -
167 - if kernel_is le 3 13; then
168 - CONFIG_CHECK+="
169 - ~NETPRIO_CGROUP
170 - "
171 - else
172 - CONFIG_CHECK+="
173 - ~CGROUP_NET_PRIO
174 - "
175 - fi
176 -
177 - if kernel_is lt 4 5; then
178 - CONFIG_CHECK+="
179 - ~MEMCG_KMEM
180 - "
181 - ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
182 - fi
183 -
184 - if kernel_is lt 4 7; then
185 - CONFIG_CHECK+="
186 - ~DEVPTS_MULTIPLE_INSTANCES
187 - "
188 - fi
189 -
190 - if use aufs; then
191 - CONFIG_CHECK+="
192 - ~AUFS_FS
193 - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
194 - "
195 - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
196 - fi
197 -
198 - if use btrfs; then
199 - CONFIG_CHECK+="
200 - ~BTRFS_FS
201 - "
202 - fi
203 -
204 - if use device-mapper; then
205 - CONFIG_CHECK+="
206 - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
207 - "
208 - fi
209 -
210 - if use overlay; then
211 - CONFIG_CHECK+="
212 - ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
213 - "
214 - fi
215 -
216 - linux-info_pkg_setup
217 -
218 - # create docker group for the code checking for it in /etc/group
219 - enewgroup docker
220 -}
221 -
222 -src_compile() {
223 - export GOPATH="${WORKDIR}/${P}:${PWD}/vendor"
224 -
225 - # setup CFLAGS and LDFLAGS for separate build target
226 - # see https://github.com/tianon/docker-overlay/pull/10
227 - export CGO_CFLAGS="-I${ROOT}/usr/include"
228 - export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
229 -
230 - # if we're building from a zip, we need the GITCOMMIT value
231 - [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
232 -
233 - if gcc-specs-pie; then
234 - sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
235 - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
236 -
237 - sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
238 - -i hack/make/dynbinary-client || die
239 - sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
240 - -i hack/make/dynbinary-daemon || die
241 - grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
242 - grep -q -- '-fno-PIC' hack/make/dynbinary-client || die 'hardened sed failed'
243 - fi
244 -
245 - # let's set up some optional features :)
246 - export DOCKER_BUILDTAGS=''
247 - for gd in aufs btrfs device-mapper overlay; do
248 - if ! use $gd; then
249 - DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
250 - fi
251 - done
252 -
253 - for tag in apparmor seccomp; do
254 - if use $tag; then
255 - DOCKER_BUILDTAGS+=" $tag"
256 - fi
257 - done
258 -
259 - # https://github.com/docker/docker/pull/13338
260 - if use experimental; then
261 - export DOCKER_EXPERIMENTAL=1
262 - else
263 - unset DOCKER_EXPERIMENTAL
264 - fi
265 -
266 - # time to build!
267 - ./hack/make.sh dynbinary || die 'dynbinary failed'
268 -
269 - # build the man pages too
270 - ./man/md2man-all.sh || die "unable to generate man pages"
271 -}
272 -
273 -src_install() {
274 - VERSION="$(cat VERSION)"
275 - newbin "bundles/$VERSION/dynbinary-client/docker-$VERSION" docker
276 - newbin "bundles/$VERSION/dynbinary-daemon/dockerd-$VERSION" dockerd
277 - newbin "bundles/$VERSION/dynbinary-daemon/docker-proxy-$VERSION" docker-proxy
278 - dosym containerd /usr/bin/docker-containerd
279 - dosym containerd-shim /usr/bin/docker-containerd-shim
280 - dosym runc /usr/bin/docker-runc
281 -
282 - newinitd contrib/init/openrc/docker.initd docker
283 - newconfd contrib/init/openrc/docker.confd docker
284 -
285 - systemd_dounit contrib/init/systemd/docker.{service,socket}
286 -
287 - udev_dorules contrib/udev/*.rules
288 -
289 - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
290 - dodoc -r docs/*
291 - doman man/man*/*
292 -
293 - dobashcomp contrib/completion/bash/*
294 -
295 - insinto /usr/share/zsh/site-functions
296 - doins contrib/completion/zsh/*
297 -
298 - insinto /usr/share/vim/vimfiles
299 - doins -r contrib/syntax/vim/ftdetect
300 - doins -r contrib/syntax/vim/syntax
301 -
302 - # note: intentionally not using "doins" so that we preserve +x bits
303 - mkdir -p "${D}/usr/share/${PN}/contrib"
304 - cp -R contrib/* "${D}/usr/share/${PN}/contrib"
305 -}
306 -
307 -pkg_postinst() {
308 - udev_reload
309 -
310 - elog
311 - elog "To use Docker, the Docker daemon must be running as root. To automatically"
312 - elog "start the Docker daemon at boot, add Docker to the default runlevel:"
313 - elog " rc-update add docker default"
314 - elog "Similarly for systemd:"
315 - elog " systemctl enable docker.service"
316 - elog
317 - elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
318 - elog " usermod -aG docker youruser"
319 - elog
320 -}
321
322 diff --git a/app-emulation/docker/docker-1.12.1.ebuild b/app-emulation/docker/docker-1.12.1.ebuild
323 deleted file mode 100644
324 index 1bd6fa2..00000000
325 --- a/app-emulation/docker/docker-1.12.1.ebuild
326 +++ /dev/null
327 @@ -1,286 +0,0 @@
328 -# Copyright 1999-2016 Gentoo Foundation
329 -# Distributed under the terms of the GNU General Public License v2
330 -# $Id$
331 -
332 -EAPI=6
333 -
334 -EGO_PN="github.com/docker/docker"
335 -
336 -if [[ ${PV} = *9999* ]]; then
337 - # Docker cannot be fetched via "go get", thanks to autogenerated code
338 - EGIT_REPO_URI="https://${EGO_PN}.git"
339 - EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
340 - inherit git-r3
341 -else
342 - MY_PV="${PV/_/-}"
343 - DOCKER_GITCOMMIT="23cf638"
344 - EGIT_COMMIT="v${MY_PV}"
345 - SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
346 - KEYWORDS="~amd64"
347 - [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
348 - inherit golang-vcs-snapshot
349 -fi
350 -inherit bash-completion-r1 golang-base linux-info systemd udev user
351 -
352 -DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
353 -HOMEPAGE="https://dockerproject.org"
354 -LICENSE="Apache-2.0"
355 -SLOT="0"
356 -IUSE="apparmor aufs btrfs +device-mapper experimental overlay seccomp"
357 -
358 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies
359 -CDEPEND="
360 - >=dev-db/sqlite-3.7.9:3
361 - device-mapper? (
362 - >=sys-fs/lvm2-2.02.89[thin]
363 - )
364 - seccomp? ( >=sys-libs/libseccomp-2.2.1 )
365 - apparmor? ( sys-libs/libapparmor )
366 -"
367 -
368 -DEPEND="
369 - ${CDEPEND}
370 -
371 - dev-go/go-md2man
372 -
373 - btrfs? (
374 - >=sys-fs/btrfs-progs-3.8
375 - )
376 -"
377 -
378 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies
379 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies
380 -RDEPEND="
381 - ${CDEPEND}
382 -
383 - !app-emulation/docker-bin
384 - >=net-firewall/iptables-1.4
385 - sys-process/procps
386 - >=dev-vcs/git-1.7
387 - >=app-arch/xz-utils-4.9
388 -
389 - >app-emulation/containerd-0.2.2
390 - app-emulation/runc[apparmor?,seccomp?]
391 -"
392 -
393 -RESTRICT="installsources strip"
394 -
395 -S="${WORKDIR}/${P}/src/${EGO_PN}"
396 -
397 -# see "contrib/check-config.sh" from upstream's sources
398 -CONFIG_CHECK="
399 - ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
400 - ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
401 - ~KEYS ~MACVLAN ~VETH ~BRIDGE ~BRIDGE_NETFILTER
402 - ~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_MANGLE ~IP_NF_TARGET_MASQUERADE
403 - ~IP_VS ~IP_VS_RR
404 - ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK
405 - ~NETFILTER_XT_MATCH_IPVS
406 - ~NETFILTER_XT_MARK ~NETFILTER_XT_TARGET_REDIRECT
407 - ~NF_NAT ~NF_NAT_NEEDED
408 -
409 - ~POSIX_MQUEUE
410 -
411 - ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
412 -
413 - ~BLK_CGROUP ~IOSCHED_CFQ
414 - ~CGROUP_PERF
415 - ~CGROUP_HUGETLB
416 - ~NET_CLS_CGROUP
417 - ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
418 - ~XFRM_ALGO ~XFRM_USER
419 -"
420 -
421 -ERROR_KEYS="CONFIG_KEYS: is mandatory"
422 -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
423 -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
424 -
425 -ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
426 -ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
427 -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
428 -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
429 -ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks"
430 -ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks"
431 -
432 -pkg_setup() {
433 - if kernel_is lt 3 10; then
434 - ewarn ""
435 - ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
436 - ewarn " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies"
437 - fi
438 -
439 - # for where these kernel versions come from, see:
440 - # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
441 - if ! {
442 - kernel_is ge 3 16 \
443 - || { kernel_is 3 15 && kernel_is ge 3 15 5; } \
444 - || { kernel_is 3 14 && kernel_is ge 3 14 12; } \
445 - || { kernel_is 3 12 && kernel_is ge 3 12 25; }
446 - }; then
447 - ewarn ""
448 - ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
449 - ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
450 - ewarn ""
451 - ewarn "See also https://github.com/docker/docker/issues/2960"
452 - fi
453 -
454 - if kernel_is le 3 18; then
455 - CONFIG_CHECK+="
456 - ~RESOURCE_COUNTERS
457 - "
458 - fi
459 -
460 - if kernel_is le 3 13; then
461 - CONFIG_CHECK+="
462 - ~NETPRIO_CGROUP
463 - "
464 - else
465 - CONFIG_CHECK+="
466 - ~CGROUP_NET_PRIO
467 - "
468 - fi
469 -
470 - if kernel_is lt 4 5; then
471 - CONFIG_CHECK+="
472 - ~MEMCG_KMEM
473 - "
474 - ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
475 - fi
476 -
477 - if kernel_is lt 4 7; then
478 - CONFIG_CHECK+="
479 - ~DEVPTS_MULTIPLE_INSTANCES
480 - "
481 - fi
482 -
483 - if use aufs; then
484 - CONFIG_CHECK+="
485 - ~AUFS_FS
486 - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
487 - "
488 - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
489 - fi
490 -
491 - if use btrfs; then
492 - CONFIG_CHECK+="
493 - ~BTRFS_FS
494 - "
495 - fi
496 -
497 - if use device-mapper; then
498 - CONFIG_CHECK+="
499 - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
500 - "
501 - fi
502 -
503 - if use overlay; then
504 - CONFIG_CHECK+="
505 - ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
506 - "
507 - fi
508 -
509 - linux-info_pkg_setup
510 -
511 - # create docker group for the code checking for it in /etc/group
512 - enewgroup docker
513 -}
514 -
515 -src_compile() {
516 - export GOPATH="${WORKDIR}/${P}:${PWD}/vendor"
517 -
518 - # setup CFLAGS and LDFLAGS for separate build target
519 - # see https://github.com/tianon/docker-overlay/pull/10
520 - export CGO_CFLAGS="-I${ROOT}/usr/include"
521 - export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
522 -
523 - # if we're building from a zip, we need the GITCOMMIT value
524 - [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
525 -
526 - if gcc-specs-pie; then
527 - sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
528 - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
529 -
530 - sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
531 - -i hack/make/dynbinary-client || die
532 - sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
533 - -i hack/make/dynbinary-daemon || die
534 - grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
535 - grep -q -- '-fno-PIC' hack/make/dynbinary-client || die 'hardened sed failed'
536 - fi
537 -
538 - # let's set up some optional features :)
539 - export DOCKER_BUILDTAGS=''
540 - for gd in aufs btrfs device-mapper overlay; do
541 - if ! use $gd; then
542 - DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
543 - fi
544 - done
545 -
546 - for tag in apparmor seccomp; do
547 - if use $tag; then
548 - DOCKER_BUILDTAGS+=" $tag"
549 - fi
550 - done
551 -
552 - # https://github.com/docker/docker/pull/13338
553 - if use experimental; then
554 - export DOCKER_EXPERIMENTAL=1
555 - else
556 - unset DOCKER_EXPERIMENTAL
557 - fi
558 -
559 - # time to build!
560 - ./hack/make.sh dynbinary || die 'dynbinary failed'
561 -
562 - # build the man pages too
563 - ./man/md2man-all.sh || die "unable to generate man pages"
564 -}
565 -
566 -src_install() {
567 - VERSION="$(cat VERSION)"
568 - newbin "bundles/$VERSION/dynbinary-client/docker-$VERSION" docker
569 - newbin "bundles/$VERSION/dynbinary-daemon/dockerd-$VERSION" dockerd
570 - newbin "bundles/$VERSION/dynbinary-daemon/docker-proxy-$VERSION" docker-proxy
571 - dosym containerd /usr/bin/docker-containerd
572 - dosym containerd-shim /usr/bin/docker-containerd-shim
573 - dosym runc /usr/bin/docker-runc
574 -
575 - newinitd contrib/init/openrc/docker.initd docker
576 - newconfd contrib/init/openrc/docker.confd docker
577 -
578 - systemd_dounit contrib/init/systemd/docker.{service,socket}
579 -
580 - udev_dorules contrib/udev/*.rules
581 -
582 - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
583 - dodoc -r docs/*
584 - doman man/man*/*
585 -
586 - dobashcomp contrib/completion/bash/*
587 -
588 - insinto /usr/share/zsh/site-functions
589 - doins contrib/completion/zsh/*
590 -
591 - insinto /usr/share/vim/vimfiles
592 - doins -r contrib/syntax/vim/ftdetect
593 - doins -r contrib/syntax/vim/syntax
594 -
595 - # note: intentionally not using "doins" so that we preserve +x bits
596 - mkdir -p "${D}/usr/share/${PN}/contrib"
597 - cp -R contrib/* "${D}/usr/share/${PN}/contrib"
598 -}
599 -
600 -pkg_postinst() {
601 - udev_reload
602 -
603 - elog
604 - elog "To use Docker, the Docker daemon must be running as root. To automatically"
605 - elog "start the Docker daemon at boot, add Docker to the default runlevel:"
606 - elog " rc-update add docker default"
607 - elog "Similarly for systemd:"
608 - elog " systemctl enable docker.service"
609 - elog
610 - elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
611 - elog " usermod -aG docker youruser"
612 - elog
613 -}
614
615 diff --git a/app-emulation/docker/docker-1.12.2.ebuild b/app-emulation/docker/docker-1.12.2.ebuild
616 deleted file mode 100644
617 index 3bacb6d..00000000
618 --- a/app-emulation/docker/docker-1.12.2.ebuild
619 +++ /dev/null
620 @@ -1,292 +0,0 @@
621 -# Copyright 1999-2016 Gentoo Foundation
622 -# Distributed under the terms of the GNU General Public License v2
623 -# $Id$
624 -
625 -EAPI=6
626 -
627 -EGO_PN="github.com/docker/docker"
628 -
629 -if [[ ${PV} = *9999* ]]; then
630 - # Docker cannot be fetched via "go get", thanks to autogenerated code
631 - EGIT_REPO_URI="https://${EGO_PN}.git"
632 - EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
633 - inherit git-r3
634 -else
635 - MY_PV="${PV/_/-}"
636 - DOCKER_GITCOMMIT="bb80604"
637 - EGIT_COMMIT="v${MY_PV}"
638 - SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
639 - KEYWORDS="~amd64"
640 - [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
641 - inherit golang-vcs-snapshot
642 -fi
643 -inherit bash-completion-r1 golang-base linux-info systemd udev user
644 -
645 -DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
646 -HOMEPAGE="https://dockerproject.org"
647 -LICENSE="Apache-2.0"
648 -SLOT="0"
649 -IUSE="apparmor aufs btrfs +device-mapper experimental overlay seccomp"
650 -
651 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies
652 -CDEPEND="
653 - >=dev-db/sqlite-3.7.9:3
654 - device-mapper? (
655 - >=sys-fs/lvm2-2.02.89[thin]
656 - )
657 - seccomp? ( >=sys-libs/libseccomp-2.2.1 )
658 - apparmor? ( sys-libs/libapparmor )
659 -"
660 -
661 -DEPEND="
662 - ${CDEPEND}
663 -
664 - dev-go/go-md2man
665 -
666 - btrfs? (
667 - >=sys-fs/btrfs-progs-3.8
668 - )
669 -"
670 -
671 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies
672 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies
673 -RDEPEND="
674 - ${CDEPEND}
675 -
676 - !app-emulation/docker-bin
677 - >=net-firewall/iptables-1.4
678 - sys-process/procps
679 - >=dev-vcs/git-1.7
680 - >=app-arch/xz-utils-4.9
681 -
682 - >app-emulation/containerd-0.2.2
683 - app-emulation/runc[apparmor?,seccomp?]
684 -"
685 -
686 -RESTRICT="installsources strip"
687 -
688 -S="${WORKDIR}/${P}/src/${EGO_PN}"
689 -
690 -# see "contrib/check-config.sh" from upstream's sources
691 -CONFIG_CHECK="
692 - ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
693 - ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
694 - ~KEYS
695 - ~VETH ~BRIDGE ~BRIDGE_NETFILTER
696 - ~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
697 - ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK
698 - ~NF_NAT ~NF_NAT_NEEDED
699 - ~POSIX_MQUEUE
700 -
701 - ~USER_NS
702 - ~SECCOMP
703 - ~CGROUP_PIDS
704 - ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
705 -
706 - ~BLK_CGROUP ~BLK_DEV_THROTTLING ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED
707 - ~CGROUP_PERF
708 - ~CGROUP_HUGETLB
709 - ~NET_CLS_CGROUP
710 - ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
711 - ~IP_VS
712 -
713 - ~VXLAN
714 - ~XFRM_ALGO ~XFRM_USER
715 - ~IPVLAN
716 - ~MACVLAN ~DUMMY
717 -"
718 -
719 -ERROR_KEYS="CONFIG_KEYS: is mandatory"
720 -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
721 -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
722 -
723 -ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
724 -ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
725 -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
726 -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
727 -ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks"
728 -ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks"
729 -
730 -pkg_setup() {
731 - if kernel_is lt 3 10; then
732 - ewarn ""
733 - ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
734 - ewarn " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies"
735 - fi
736 -
737 - # for where these kernel versions come from, see:
738 - # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
739 - if ! {
740 - kernel_is ge 3 16 \
741 - || { kernel_is 3 15 && kernel_is ge 3 15 5; } \
742 - || { kernel_is 3 14 && kernel_is ge 3 14 12; } \
743 - || { kernel_is 3 12 && kernel_is ge 3 12 25; }
744 - }; then
745 - ewarn ""
746 - ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
747 - ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
748 - ewarn ""
749 - ewarn "See also https://github.com/docker/docker/issues/2960"
750 - fi
751 -
752 - if kernel_is le 3 18; then
753 - CONFIG_CHECK+="
754 - ~RESOURCE_COUNTERS
755 - "
756 - fi
757 -
758 - if kernel_is le 3 13; then
759 - CONFIG_CHECK+="
760 - ~NETPRIO_CGROUP
761 - "
762 - else
763 - CONFIG_CHECK+="
764 - ~CGROUP_NET_PRIO
765 - "
766 - fi
767 -
768 - if kernel_is lt 4 5; then
769 - CONFIG_CHECK+="
770 - ~MEMCG_KMEM
771 - "
772 - ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
773 - fi
774 -
775 - if kernel_is lt 4 7; then
776 - CONFIG_CHECK+="
777 - ~DEVPTS_MULTIPLE_INSTANCES
778 - "
779 - fi
780 -
781 - if use aufs; then
782 - CONFIG_CHECK+="
783 - ~AUFS_FS
784 - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
785 - "
786 - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
787 - fi
788 -
789 - if use btrfs; then
790 - CONFIG_CHECK+="
791 - ~BTRFS_FS
792 - ~BTRFS_FS_POSIX_ACL
793 - "
794 - fi
795 -
796 - if use device-mapper; then
797 - CONFIG_CHECK+="
798 - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
799 - "
800 - fi
801 -
802 - if use overlay; then
803 - CONFIG_CHECK+="
804 - ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
805 - "
806 - fi
807 -
808 - linux-info_pkg_setup
809 -
810 - # create docker group for the code checking for it in /etc/group
811 - enewgroup docker
812 -}
813 -
814 -src_compile() {
815 - export GOPATH="${WORKDIR}/${P}:${PWD}/vendor"
816 -
817 - # setup CFLAGS and LDFLAGS for separate build target
818 - # see https://github.com/tianon/docker-overlay/pull/10
819 - export CGO_CFLAGS="-I${ROOT}/usr/include"
820 - export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
821 -
822 - # if we're building from a zip, we need the GITCOMMIT value
823 - [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
824 -
825 - if gcc-specs-pie; then
826 - sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
827 - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
828 -
829 - sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
830 - -i hack/make/dynbinary-client || die
831 - sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
832 - -i hack/make/dynbinary-daemon || die
833 - grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
834 - grep -q -- '-fno-PIC' hack/make/dynbinary-client || die 'hardened sed failed'
835 - fi
836 -
837 - # let's set up some optional features :)
838 - export DOCKER_BUILDTAGS=''
839 - for gd in aufs btrfs device-mapper overlay; do
840 - if ! use $gd; then
841 - DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
842 - fi
843 - done
844 -
845 - for tag in apparmor seccomp; do
846 - if use $tag; then
847 - DOCKER_BUILDTAGS+=" $tag"
848 - fi
849 - done
850 -
851 - # https://github.com/docker/docker/pull/13338
852 - if use experimental; then
853 - export DOCKER_EXPERIMENTAL=1
854 - else
855 - unset DOCKER_EXPERIMENTAL
856 - fi
857 -
858 - # time to build!
859 - ./hack/make.sh dynbinary || die 'dynbinary failed'
860 -
861 - # build the man pages too
862 - ./man/md2man-all.sh || die "unable to generate man pages"
863 -}
864 -
865 -src_install() {
866 - VERSION="$(cat VERSION)"
867 - newbin "bundles/$VERSION/dynbinary-client/docker-$VERSION" docker
868 - newbin "bundles/$VERSION/dynbinary-daemon/dockerd-$VERSION" dockerd
869 - newbin "bundles/$VERSION/dynbinary-daemon/docker-proxy-$VERSION" docker-proxy
870 - dosym containerd /usr/bin/docker-containerd
871 - dosym containerd-shim /usr/bin/docker-containerd-shim
872 - dosym runc /usr/bin/docker-runc
873 -
874 - newinitd contrib/init/openrc/docker.initd docker
875 - newconfd contrib/init/openrc/docker.confd docker
876 -
877 - systemd_dounit contrib/init/systemd/docker.{service,socket}
878 -
879 - udev_dorules contrib/udev/*.rules
880 -
881 - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
882 - dodoc -r docs/*
883 - doman man/man*/*
884 -
885 - dobashcomp contrib/completion/bash/*
886 -
887 - insinto /usr/share/zsh/site-functions
888 - doins contrib/completion/zsh/*
889 -
890 - insinto /usr/share/vim/vimfiles
891 - doins -r contrib/syntax/vim/ftdetect
892 - doins -r contrib/syntax/vim/syntax
893 -
894 - # note: intentionally not using "doins" so that we preserve +x bits
895 - mkdir -p "${D}/usr/share/${PN}/contrib"
896 - cp -R contrib/* "${D}/usr/share/${PN}/contrib"
897 -}
898 -
899 -pkg_postinst() {
900 - udev_reload
901 -
902 - elog
903 - elog "To use Docker, the Docker daemon must be running as root. To automatically"
904 - elog "start the Docker daemon at boot, add Docker to the default runlevel:"
905 - elog " rc-update add docker default"
906 - elog "Similarly for systemd:"
907 - elog " systemctl enable docker.service"
908 - elog
909 - elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
910 - elog " usermod -aG docker youruser"
911 - elog
912 -}