Gentoo Archives: gentoo-commits

From: Kacper Kowalik <xarthisius@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/docker/
Date: Wed, 27 Apr 2016 15:19:48
Message-Id: 1461770369.62fb332f629ff9b965c80ce4df6a3f0d03c282eb.xarthisius@gentoo
1 commit: 62fb332f629ff9b965c80ce4df6a3f0d03c282eb
2 Author: Kacper Kowalik <xarthisius <AT> gentoo <DOT> org>
3 AuthorDate: Wed Apr 27 15:19:29 2016 +0000
4 Commit: Kacper Kowalik <xarthisius <AT> gentoo <DOT> org>
5 CommitDate: Wed Apr 27 15:19:29 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62fb332f
7
8 app-emulation/docker: Drop vulnerable versions wrt bug 581236
9
10 Package-Manager: portage-2.2.27
11
12 app-emulation/docker/Manifest | 9 -
13 app-emulation/docker/docker-1.10.0.ebuild | 270 ------------------------------
14 app-emulation/docker/docker-1.10.3.ebuild | 270 ------------------------------
15 app-emulation/docker/docker-1.6.1.ebuild | 246 ---------------------------
16 app-emulation/docker/docker-1.6.2.ebuild | 246 ---------------------------
17 app-emulation/docker/docker-1.7.1.ebuild | 268 -----------------------------
18 app-emulation/docker/docker-1.8.1.ebuild | 268 -----------------------------
19 app-emulation/docker/docker-1.8.2.ebuild | 270 ------------------------------
20 app-emulation/docker/docker-1.9.0.ebuild | 268 -----------------------------
21 app-emulation/docker/docker-1.9.1.ebuild | 265 -----------------------------
22 10 files changed, 2380 deletions(-)
23
24 diff --git a/app-emulation/docker/Manifest b/app-emulation/docker/Manifest
25 index 082892a..0d9657f 100644
26 --- a/app-emulation/docker/Manifest
27 +++ b/app-emulation/docker/Manifest
28 @@ -1,10 +1 @@
29 -DIST docker-1.10.0.tar.gz 9966458 SHA256 4321baec0839a0f57b9bb3a20d84f2ab1ff045fbe631c3aa76bbc1db67012635 SHA512 dc8c421e704990882dce26d23929d71dffeac605e07d595872f1fa5c0920f214a368c902ecd7c739f32a468c276001acf3cef1676aeaeffc8e4530ec028db070 WHIRLPOOL 583f186e338624ddb8d67941e62c5cc9f12af99a13939b20739dbe2d46eff0b3aa21fc8dec508d7b6f8dd13c4ff4e0f52cf7afd174d5289f7966c2cfefa3a081
30 -DIST docker-1.10.3.tar.gz 9973680 SHA256 6b72fafa4c068a95133f5c9fda9fb148c9412db7a932800689e259a1b1c7ef6d SHA512 0e8f1dc80b8600a3a2d36a0e2a5c1a5cdca540198dafb9b6e32e79e7a2d2bea3d822ec310d6b1655fd0c91dca03874fa93b3ddb77e59607d62aac4fe6062c0da WHIRLPOOL 0d1b09868e958bfad5a722f60a73847ba12745e36abc11e04ff074546728967ccbaf0cf4554dec70dcd97169a2c684144d5cc171ef3b9bf0ba438daf37c24269
31 DIST docker-1.11.0.tar.gz 10637394 SHA256 088869b9a19ae17656e068aa6d3d473866e8133365427c601c671da1b2189057 SHA512 ecb7f531a5632fd6274e3eec59a5194c61d0788ab9f3864845cbc248232c2f14671a26c34abab8c5ca85ce6106ae72ea3ae4e5d133ad1efb126069ae82a2dba0 WHIRLPOOL 20b0ef1642d2fea2ae186a17786d95f138fb7df92daa104f00c481488f82eadd5e8f27a0a8e926d68f495fd62bc132d83817a0831f84b3786474a9408d87878f
32 -DIST docker-1.6.1.tar.gz 5713944 SHA256 aa3534277d11b32bc3564b801aeed0502f067317e7e111bd91ce2d989d34c51e SHA512 d2647f191fd295c8a9326e11ddbf6e77f33b70f14e3ebd37db3c9fa1f4946e0e3f426078ee847f52d7c57fc7783d26afe3e5d2e7ff17d8e6bb4f71609e8f5ef2 WHIRLPOOL e12c799ef63a0646f7393b00b6c1e200f350f7089445c58819ae5b53d66d18d985cb9f8fde1cd3ecfa55c2f0186064fc7080b7ebba132404aa15502029881602
33 -DIST docker-1.6.2.tar.gz 5714121 SHA256 f3a031b23ea9ff0fdbf3ffb9449c64ec51bb053491b47b28000eb4cce9f23203 SHA512 c27bdafabcb8ad2e49bee9e1529141a25596ba2b59435fb9368fc406950d0d7d1cbd876f1f4248dfc7089a22b8a2d13009dd164bde87e37b95a8e502bb49cac9 WHIRLPOOL aea4105ba30104d751203153b6208e363ce0abb3145ee134e675c4bc640e888afb281e7ba9009a30b9af37e829185684427a33b947d8710b49562e3352526c06
34 -DIST docker-1.7.1.tar.gz 6853527 SHA256 9cd26415d68a88d3cf576e7e78c2fe97f42af795404f552728acc5b41dccf4ef SHA512 9b32c3deab77a27a4322a3ccbb3759a2c2a5627605090c4517c3754e6821407abcf5ffa227bad1fdafcbba068cdcaab586015dd8cfe9aed7e8a221d0615463f1 WHIRLPOOL 41b1afd8ea08c3452e5658d73e85c3b79a64f85fb4cb99c4c6a2ce1ab49836cebbe14724afe47898cb8d9bb9d4d69c64ff1c061895f3b9534150bc7ab50e2b22
35 -DIST docker-1.8.1.tar.gz 7562594 SHA256 7f22e88a994dc1bc143f87215de01ccd902450e6e8d747467d042a56db792b03 SHA512 6c015b236914da945d9e5bf2fed3e8a0a4d1e0c44ee02bf6edc04b2bb48b626353e37de45cd99c486b7ced70807e606d5eac2f1bdb3f8a7ba86cd9b71e4f5504 WHIRLPOOL 8d514fb309f0ddbb92bcf84f4d79320e18c26211536919bbed68888f5af77247f14f93239e5c890c5214cf0a9663acc48a45545a87227f0fe4bf8866ac7d7c5c
36 -DIST docker-1.8.2.tar.gz 7563667 SHA256 457569ca8edd70293132789bfe51636f86cd8a46a60c6d02d5ee8600cf79f74b SHA512 c44f3cc0e0b7db463730620c0ec4b1aa1ea4a42f6528c891914318cb945aaa906e8eeaf91d32fb2d87a11ea1be428d1cf0de7d3ce4681c7db37390e4e1f79c67 WHIRLPOOL 2023f433ae25cc11fed6e4109a81dd949765daf342011f08a0ce8c1a8572ced595273ab78c45ac09abe895766c4443ff5a3219c5fce37725503bcdc39f49a947
37 -DIST docker-1.9.0.tar.gz 7815144 SHA256 1c06baea61971a711f9e510800fb4de5e0d8a6560963cfdc891e0037b40dc974 SHA512 16c7fd900ff1122ccd62ce93b84209b026a165ff647cd4875e32c16251098c05e9e7de834cc6f27d164b5be168f8fd16323ec60593287a787f6fa8fcef144291 WHIRLPOOL 4031e3aa03f74afaf395a412668d7142f867e6279a9d0ac5334a6b1d8b3ad5cccc93961d0e1c63aa7fc46179555a6f106ce6e8acbec774d21a7af37a147a2ea0
38 -DIST docker-1.9.1.tar.gz 7824414 SHA256 ff0ad9647b756381758a16440a48e6f3c8615bbc903e53680569aac0b0a85157 SHA512 db9db1d5095b2afe2285265414c36026d2b42d5547301d7d462151b81553f33e242b403b566e7835727d51b77e3176c049f1e9f37f60b59b3c66b95403c97b9d WHIRLPOOL 93118093947c8a490a2007003e45974d7923afae4111c59e2f026787cf57f99b275be1be4a9e69b17cddf576f2d2af7fadcaa1f7ebc0ca08ce0e42a055ace22b
39
40 diff --git a/app-emulation/docker/docker-1.10.0.ebuild b/app-emulation/docker/docker-1.10.0.ebuild
41 deleted file mode 100644
42 index 4cb61f6..0000000
43 --- a/app-emulation/docker/docker-1.10.0.ebuild
44 +++ /dev/null
45 @@ -1,270 +0,0 @@
46 -# Copyright 1999-2015 Gentoo Foundation
47 -# Distributed under the terms of the GNU General Public License v2
48 -# $Id$
49 -
50 -EAPI=5
51 -
52 -EGO_PN="github.com/docker/docker"
53 -
54 -if [[ ${PV} = *9999* ]]; then
55 - # Docker cannot be fetched via "go get", thanks to autogenerated code
56 - EGIT_REPO_URI="https://${EGO_PN}.git"
57 - EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
58 - inherit git-r3
59 -else
60 - MY_PV="${PV/_/-}"
61 - DOCKER_GITCOMMIT="590d510"
62 - EGIT_COMMIT="v${MY_PV}"
63 - SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
64 - KEYWORDS="~amd64"
65 - [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
66 - inherit golang-vcs-snapshot
67 -fi
68 -inherit bash-completion-r1 linux-info multilib systemd udev user
69 -
70 -DESCRIPTION="Docker complements kernel namespacing with a high-level API which operates at the process level"
71 -HOMEPAGE="https://dockerproject.org"
72 -LICENSE="Apache-2.0"
73 -SLOT="0"
74 -IUSE="apparmor aufs btrfs +device-mapper experimental overlay seccomp"
75 -
76 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies
77 -CDEPEND="
78 - >=dev-db/sqlite-3.7.9:3
79 - device-mapper? (
80 - >=sys-fs/lvm2-2.02.89[thin]
81 - )
82 - seccomp? (
83 - >=sys-libs/libseccomp-2.2.1[static-libs]
84 - )
85 -"
86 -
87 -DEPEND="
88 - ${CDEPEND}
89 -
90 - dev-go/go-md2man
91 -
92 - btrfs? (
93 - >=sys-fs/btrfs-progs-3.8
94 - )
95 -"
96 -
97 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies
98 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies
99 -RDEPEND="
100 - ${CDEPEND}
101 -
102 - !app-emulation/docker-bin
103 - >=net-firewall/iptables-1.4
104 - sys-process/procps
105 - >=dev-vcs/git-1.7
106 - >=app-arch/xz-utils-4.9
107 -
108 - apparmor? (
109 - sys-libs/libapparmor[static-libs]
110 - )
111 -"
112 -
113 -RESTRICT="installsources strip"
114 -
115 -# see "contrib/check-config.sh" from upstream's sources
116 -CONFIG_CHECK="
117 - ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
118 - ~DEVPTS_MULTIPLE_INSTANCES
119 - ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
120 - ~MACVLAN ~VETH ~BRIDGE ~BRIDGE_NETFILTER
121 - ~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
122 - ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK
123 - ~NF_NAT ~NF_NAT_NEEDED
124 -
125 - ~POSIX_MQUEUE
126 -
127 - ~MEMCG_KMEM ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
128 -
129 - ~BLK_CGROUP ~IOSCHED_CFQ
130 - ~CGROUP_PERF
131 - ~CGROUP_HUGETLB
132 - ~NET_CLS_CGROUP
133 - ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
134 -"
135 -
136 -ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
137 -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
138 -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
139 -
140 -ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
141 -ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
142 -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
143 -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
144 -
145 -pkg_setup() {
146 - if kernel_is lt 3 10; then
147 - ewarn ""
148 - ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
149 - ewarn " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies"
150 - fi
151 -
152 - # for where these kernel versions come from, see:
153 - # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
154 - if ! {
155 - kernel_is ge 3 16 \
156 - || { kernel_is 3 15 && kernel_is ge 3 15 5; } \
157 - || { kernel_is 3 14 && kernel_is ge 3 14 12; } \
158 - || { kernel_is 3 12 && kernel_is ge 3 12 25; }
159 - }; then
160 - ewarn ""
161 - ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
162 - ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
163 - ewarn ""
164 - ewarn "See also https://github.com/docker/docker/issues/2960"
165 - fi
166 -
167 - if kernel_is le 3 18; then
168 - CONFIG_CHECK+="
169 - ~RESOURCE_COUNTERS
170 - "
171 - fi
172 -
173 - if kernel_is le 3 13; then
174 - CONFIG_CHECK+="
175 - ~NETPRIO_CGROUP
176 - "
177 - else
178 - CONFIG_CHECK+="
179 - ~CGROUP_NET_PRIO
180 - "
181 - fi
182 -
183 - if use aufs; then
184 - CONFIG_CHECK+="
185 - ~AUFS_FS
186 - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
187 - "
188 - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
189 - fi
190 -
191 - if use btrfs; then
192 - CONFIG_CHECK+="
193 - ~BTRFS_FS
194 - "
195 - fi
196 -
197 - if use device-mapper; then
198 - CONFIG_CHECK+="
199 - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
200 - "
201 - fi
202 -
203 - if use overlay; then
204 - CONFIG_CHECK+="
205 - ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
206 - "
207 - fi
208 -
209 - linux-info_pkg_setup
210 -
211 - # create docker group for the code checking for it in /etc/group
212 - enewgroup docker
213 -}
214 -
215 -src_prepare() {
216 - cd "src/${EGO_PN}" || die
217 - # allow user patches (use sparingly - upstream won't support them)
218 - epatch_user
219 -}
220 -
221 -src_compile() {
222 - cd "src/${EGO_PN}" || die
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 || die
239 - grep -q -- '-fno-PIC' hack/make/dynbinary || die 'hardened sed failed'
240 - fi
241 -
242 - # let's set up some optional features :)
243 - export DOCKER_BUILDTAGS=''
244 - for gd in aufs btrfs device-mapper overlay; do
245 - if ! use $gd; then
246 - DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
247 - fi
248 - done
249 -
250 - for tag in apparmor seccomp; do
251 - if use $tag; then
252 - DOCKER_BUILDTAGS+=" $tag"
253 - fi
254 - done
255 -
256 - # https://github.com/docker/docker/pull/13338
257 - if use experimental; then
258 - export DOCKER_EXPERIMENTAL=1
259 - else
260 - unset DOCKER_EXPERIMENTAL
261 - fi
262 -
263 - # time to build!
264 - ./hack/make.sh dynbinary || die 'dynbinary failed'
265 -
266 - # build the man pages too
267 - ./man/md2man-all.sh || die "unable to generate man pages"
268 -}
269 -
270 -src_install() {
271 - cd "src/${EGO_PN}" || die
272 - VERSION="$(cat VERSION)"
273 - newbin "bundles/$VERSION/dynbinary/docker-$VERSION" docker
274 - exeinto /usr/libexec/docker
275 - newexe "bundles/$VERSION/dynbinary/dockerinit-$VERSION" dockerinit
276 -
277 - newinitd contrib/init/openrc/docker.initd docker
278 - newconfd contrib/init/openrc/docker.confd docker
279 -
280 - systemd_dounit contrib/init/systemd/docker.{service,socket}
281 -
282 - udev_dorules contrib/udev/*.rules
283 -
284 - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
285 - dodoc -r docs/*
286 - doman man/man*/*
287 -
288 - dobashcomp contrib/completion/bash/*
289 -
290 - insinto /usr/share/zsh/site-functions
291 - doins contrib/completion/zsh/*
292 -
293 - insinto /usr/share/vim/vimfiles
294 - doins -r contrib/syntax/vim/ftdetect
295 - doins -r contrib/syntax/vim/syntax
296 -
297 - # note: intentionally not using "doins" so that we preserve +x bits
298 - mkdir -p "${D}/usr/share/${PN}/contrib"
299 - cp -R contrib/* "${D}/usr/share/${PN}/contrib"
300 -}
301 -
302 -pkg_postinst() {
303 - udev_reload
304 -
305 - elog
306 - elog "To use Docker, the Docker daemon must be running as root. To automatically"
307 - elog "start the Docker daemon at boot, add Docker to the default runlevel:"
308 - elog " rc-update add docker default"
309 - elog "Similarly for systemd:"
310 - elog " systemctl enable docker.service"
311 - elog
312 - elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
313 - elog " usermod -aG docker youruser"
314 - elog
315 -}
316
317 diff --git a/app-emulation/docker/docker-1.10.3.ebuild b/app-emulation/docker/docker-1.10.3.ebuild
318 deleted file mode 100644
319 index 8ab8d73..0000000
320 --- a/app-emulation/docker/docker-1.10.3.ebuild
321 +++ /dev/null
322 @@ -1,270 +0,0 @@
323 -# Copyright 1999-2016 Gentoo Foundation
324 -# Distributed under the terms of the GNU General Public License v2
325 -# $Id$
326 -
327 -EAPI=5
328 -
329 -EGO_PN="github.com/docker/docker"
330 -
331 -if [[ ${PV} = *9999* ]]; then
332 - # Docker cannot be fetched via "go get", thanks to autogenerated code
333 - EGIT_REPO_URI="https://${EGO_PN}.git"
334 - EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
335 - inherit git-r3
336 -else
337 - MY_PV="${PV/_/-}"
338 - DOCKER_GITCOMMIT="20f81dd"
339 - EGIT_COMMIT="v${MY_PV}"
340 - SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
341 - KEYWORDS="~amd64"
342 - [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
343 - inherit golang-vcs-snapshot
344 -fi
345 -inherit bash-completion-r1 linux-info multilib systemd udev user
346 -
347 -DESCRIPTION="Docker complements kernel namespacing with a high-level API which operates at the process level"
348 -HOMEPAGE="https://dockerproject.org"
349 -LICENSE="Apache-2.0"
350 -SLOT="0"
351 -IUSE="apparmor aufs btrfs +device-mapper experimental overlay seccomp"
352 -
353 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies
354 -CDEPEND="
355 - >=dev-db/sqlite-3.7.9:3
356 - device-mapper? (
357 - >=sys-fs/lvm2-2.02.89[thin]
358 - )
359 - seccomp? (
360 - >=sys-libs/libseccomp-2.2.1[static-libs]
361 - )
362 -"
363 -
364 -DEPEND="
365 - ${CDEPEND}
366 -
367 - dev-go/go-md2man
368 -
369 - btrfs? (
370 - >=sys-fs/btrfs-progs-3.8
371 - )
372 -"
373 -
374 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies
375 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies
376 -RDEPEND="
377 - ${CDEPEND}
378 -
379 - !app-emulation/docker-bin
380 - >=net-firewall/iptables-1.4
381 - sys-process/procps
382 - >=dev-vcs/git-1.7
383 - >=app-arch/xz-utils-4.9
384 -
385 - apparmor? (
386 - sys-libs/libapparmor[static-libs]
387 - )
388 -"
389 -
390 -RESTRICT="installsources strip"
391 -
392 -# see "contrib/check-config.sh" from upstream's sources
393 -CONFIG_CHECK="
394 - ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
395 - ~DEVPTS_MULTIPLE_INSTANCES
396 - ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
397 - ~MACVLAN ~VETH ~BRIDGE ~BRIDGE_NETFILTER
398 - ~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
399 - ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK
400 - ~NF_NAT ~NF_NAT_NEEDED
401 -
402 - ~POSIX_MQUEUE
403 -
404 - ~MEMCG_KMEM ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
405 -
406 - ~BLK_CGROUP ~IOSCHED_CFQ
407 - ~CGROUP_PERF
408 - ~CGROUP_HUGETLB
409 - ~NET_CLS_CGROUP
410 - ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
411 -"
412 -
413 -ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
414 -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
415 -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
416 -
417 -ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
418 -ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
419 -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
420 -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
421 -
422 -pkg_setup() {
423 - if kernel_is lt 3 10; then
424 - ewarn ""
425 - ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
426 - ewarn " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies"
427 - fi
428 -
429 - # for where these kernel versions come from, see:
430 - # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
431 - if ! {
432 - kernel_is ge 3 16 \
433 - || { kernel_is 3 15 && kernel_is ge 3 15 5; } \
434 - || { kernel_is 3 14 && kernel_is ge 3 14 12; } \
435 - || { kernel_is 3 12 && kernel_is ge 3 12 25; }
436 - }; then
437 - ewarn ""
438 - ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
439 - ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
440 - ewarn ""
441 - ewarn "See also https://github.com/docker/docker/issues/2960"
442 - fi
443 -
444 - if kernel_is le 3 18; then
445 - CONFIG_CHECK+="
446 - ~RESOURCE_COUNTERS
447 - "
448 - fi
449 -
450 - if kernel_is le 3 13; then
451 - CONFIG_CHECK+="
452 - ~NETPRIO_CGROUP
453 - "
454 - else
455 - CONFIG_CHECK+="
456 - ~CGROUP_NET_PRIO
457 - "
458 - fi
459 -
460 - if use aufs; then
461 - CONFIG_CHECK+="
462 - ~AUFS_FS
463 - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
464 - "
465 - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
466 - fi
467 -
468 - if use btrfs; then
469 - CONFIG_CHECK+="
470 - ~BTRFS_FS
471 - "
472 - fi
473 -
474 - if use device-mapper; then
475 - CONFIG_CHECK+="
476 - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
477 - "
478 - fi
479 -
480 - if use overlay; then
481 - CONFIG_CHECK+="
482 - ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
483 - "
484 - fi
485 -
486 - linux-info_pkg_setup
487 -
488 - # create docker group for the code checking for it in /etc/group
489 - enewgroup docker
490 -}
491 -
492 -src_prepare() {
493 - cd "src/${EGO_PN}" || die
494 - # allow user patches (use sparingly - upstream won't support them)
495 - epatch_user
496 -}
497 -
498 -src_compile() {
499 - cd "src/${EGO_PN}" || die
500 - export GOPATH="${WORKDIR}/${P}:${PWD}/vendor"
501 -
502 - # setup CFLAGS and LDFLAGS for separate build target
503 - # see https://github.com/tianon/docker-overlay/pull/10
504 - export CGO_CFLAGS="-I${ROOT}/usr/include"
505 - export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
506 -
507 - # if we're building from a zip, we need the GITCOMMIT value
508 - [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
509 -
510 - if gcc-specs-pie; then
511 - sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
512 - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
513 -
514 - sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
515 - -i hack/make/dynbinary || die
516 - grep -q -- '-fno-PIC' hack/make/dynbinary || die 'hardened sed failed'
517 - fi
518 -
519 - # let's set up some optional features :)
520 - export DOCKER_BUILDTAGS=''
521 - for gd in aufs btrfs device-mapper overlay; do
522 - if ! use $gd; then
523 - DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
524 - fi
525 - done
526 -
527 - for tag in apparmor seccomp; do
528 - if use $tag; then
529 - DOCKER_BUILDTAGS+=" $tag"
530 - fi
531 - done
532 -
533 - # https://github.com/docker/docker/pull/13338
534 - if use experimental; then
535 - export DOCKER_EXPERIMENTAL=1
536 - else
537 - unset DOCKER_EXPERIMENTAL
538 - fi
539 -
540 - # time to build!
541 - ./hack/make.sh dynbinary || die 'dynbinary failed'
542 -
543 - # build the man pages too
544 - ./man/md2man-all.sh || die "unable to generate man pages"
545 -}
546 -
547 -src_install() {
548 - cd "src/${EGO_PN}" || die
549 - VERSION="$(cat VERSION)"
550 - newbin "bundles/$VERSION/dynbinary/docker-$VERSION" docker
551 - exeinto /usr/libexec/docker
552 - newexe "bundles/$VERSION/dynbinary/dockerinit-$VERSION" dockerinit
553 -
554 - newinitd contrib/init/openrc/docker.initd docker
555 - newconfd contrib/init/openrc/docker.confd docker
556 -
557 - systemd_dounit contrib/init/systemd/docker.{service,socket}
558 -
559 - udev_dorules contrib/udev/*.rules
560 -
561 - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
562 - dodoc -r docs/*
563 - doman man/man*/*
564 -
565 - dobashcomp contrib/completion/bash/*
566 -
567 - insinto /usr/share/zsh/site-functions
568 - doins contrib/completion/zsh/*
569 -
570 - insinto /usr/share/vim/vimfiles
571 - doins -r contrib/syntax/vim/ftdetect
572 - doins -r contrib/syntax/vim/syntax
573 -
574 - # note: intentionally not using "doins" so that we preserve +x bits
575 - mkdir -p "${D}/usr/share/${PN}/contrib"
576 - cp -R contrib/* "${D}/usr/share/${PN}/contrib"
577 -}
578 -
579 -pkg_postinst() {
580 - udev_reload
581 -
582 - elog
583 - elog "To use Docker, the Docker daemon must be running as root. To automatically"
584 - elog "start the Docker daemon at boot, add Docker to the default runlevel:"
585 - elog " rc-update add docker default"
586 - elog "Similarly for systemd:"
587 - elog " systemctl enable docker.service"
588 - elog
589 - elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
590 - elog " usermod -aG docker youruser"
591 - elog
592 -}
593
594 diff --git a/app-emulation/docker/docker-1.6.1.ebuild b/app-emulation/docker/docker-1.6.1.ebuild
595 deleted file mode 100644
596 index adabf38..0000000
597 --- a/app-emulation/docker/docker-1.6.1.ebuild
598 +++ /dev/null
599 @@ -1,246 +0,0 @@
600 -# Copyright 1999-2015 Gentoo Foundation
601 -# Distributed under the terms of the GNU General Public License v2
602 -# $Id$
603 -
604 -EAPI=5
605 -
606 -DESCRIPTION="Docker complements kernel namespacing with a high-level API which operates at the process level"
607 -HOMEPAGE="https://www.docker.com"
608 -
609 -GITHUB_URI="github.com/docker/docker"
610 -
611 -if [[ ${PV} == *9999 ]]; then
612 - SRC_URI=""
613 - EGIT_REPO_URI="git://${GITHUB_URI}.git"
614 - inherit git-2
615 -else
616 - MY_PV="${PV/_/-}"
617 - MY_P="${PN}-${MY_PV}"
618 - SRC_URI="https://${GITHUB_URI}/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
619 - S="${WORKDIR}/${MY_P}"
620 - DOCKER_GITCOMMIT="97cd073"
621 - KEYWORDS="~amd64"
622 - [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
623 -fi
624 -
625 -inherit bash-completion-r1 eutils linux-info multilib systemd udev user
626 -
627 -LICENSE="Apache-2.0"
628 -SLOT="0"
629 -IUSE="aufs btrfs +contrib +device-mapper doc lxc overlay vim-syntax"
630 -
631 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies
632 -CDEPEND="
633 - >=dev-db/sqlite-3.7.9:3
634 - device-mapper? (
635 - >=sys-fs/lvm2-2.02.89[thin]
636 - )
637 -"
638 -
639 -DEPEND="
640 - ${CDEPEND}
641 - >=dev-lang/go-1.3
642 - btrfs? (
643 - >=sys-fs/btrfs-progs-3.16.1
644 - )
645 -"
646 -
647 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies
648 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies
649 -RDEPEND="
650 - ${CDEPEND}
651 -
652 - !app-emulation/docker-bin
653 - >=net-firewall/iptables-1.4
654 - sys-process/procps
655 - >=dev-vcs/git-1.7
656 - >=app-arch/xz-utils-4.9
657 -
658 - lxc? (
659 - >=app-emulation/lxc-1.0.7
660 - )
661 - aufs? (
662 - || (
663 - sys-fs/aufs3
664 - sys-fs/aufs4
665 - sys-kernel/aufs-sources
666 - )
667 - )
668 -"
669 -
670 -RESTRICT="installsources strip"
671 -
672 -# see "contrib/check-config.sh" from upstream's sources
673 -CONFIG_CHECK="
674 - NAMESPACES NET_NS PID_NS IPC_NS UTS_NS
675 - DEVPTS_MULTIPLE_INSTANCES
676 - CGROUPS CGROUP_CPUACCT CGROUP_DEVICE CGROUP_FREEZER CGROUP_SCHED CPUSETS
677 - MACVLAN VETH BRIDGE
678 - NF_NAT_IPV4 IP_NF_FILTER IP_NF_TARGET_MASQUERADE
679 - NETFILTER_XT_MATCH_ADDRTYPE NETFILTER_XT_MATCH_CONNTRACK
680 - NF_NAT NF_NAT_NEEDED
681 -
682 - POSIX_MQUEUE
683 -
684 - ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
685 - ~RESOURCE_COUNTERS
686 - ~CGROUP_PERF
687 - ~CFS_BANDWIDTH
688 -"
689 -
690 -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
691 -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
692 -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
693 -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
694 -
695 -pkg_setup() {
696 - if kernel_is lt 3 8; then
697 - eerror ""
698 - eerror "Using Docker with kernels older than 3.8 is unstable and unsupported."
699 - eerror " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies"
700 - die 'Kernel is too old - need 3.8 or above'
701 - fi
702 -
703 - # for where these kernel versions come from, see:
704 - # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
705 - if ! {
706 - kernel_is ge 3 16 \
707 - || { kernel_is 3 15 && kernel_is ge 3 15 5; } \
708 - || { kernel_is 3 14 && kernel_is ge 3 14 12; } \
709 - || { kernel_is 3 12 && kernel_is ge 3 12 25; }
710 - }; then
711 - ewarn ""
712 - ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
713 - ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
714 - ewarn ""
715 - ewarn "See also https://github.com/docker/docker/issues/2960"
716 - fi
717 -
718 - if use aufs; then
719 - CONFIG_CHECK+="
720 - ~AUFS_FS
721 - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
722 - "
723 - # TODO there must be a way to detect "sys-kernel/aufs-sources" so we don't warn "sys-fs/aufs3" users about this
724 - # an even better solution would be to check if the current kernel sources include CONFIG_AUFS_FS as an option, but that sounds hairy and error-prone
725 - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used"
726 - fi
727 -
728 - if use btrfs; then
729 - CONFIG_CHECK+="
730 - ~BTRFS_FS
731 - "
732 - fi
733 -
734 - if use device-mapper; then
735 - CONFIG_CHECK+="
736 - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
737 - "
738 - fi
739 -
740 - if use overlay; then
741 - CONFIG_CHECK+="
742 - ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
743 - "
744 - fi
745 -
746 - linux-info_pkg_setup
747 -}
748 -
749 -src_prepare() {
750 - # allow user patches (use sparingly - upstream won't support them)
751 - epatch_user
752 -}
753 -
754 -src_compile() {
755 - # if we treat them right, Docker's build scripts will set up a
756 - # reasonable GOPATH for us
757 - export AUTO_GOPATH=1
758 -
759 - # setup CFLAGS and LDFLAGS for separate build target
760 - # see https://github.com/tianon/docker-overlay/pull/10
761 - export CGO_CFLAGS="-I${ROOT}/usr/include"
762 - export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
763 -
764 - # if we're building from a zip, we need the GITCOMMIT value
765 - [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
766 -
767 - if gcc-specs-pie; then
768 - sed -i "s/EXTLDFLAGS_STATIC='/EXTLDFLAGS_STATIC='-fno-PIC /" hack/make.sh || die
769 - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
770 -
771 - sed -i "s/LDFLAGS_STATIC_DOCKER='/LDFLAGS_STATIC_DOCKER='-extldflags -fno-PIC /" hack/make/dynbinary || die
772 - grep -q -- '-fno-PIC' hack/make/dynbinary || die 'hardened sed failed'
773 - fi
774 -
775 - # let's set up some optional features :)
776 - export DOCKER_BUILDTAGS=''
777 - for gd in aufs btrfs device-mapper overlay; do
778 - if ! use $gd; then
779 - DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
780 - fi
781 - done
782 -
783 - # time to build!
784 - ./hack/make.sh dynbinary || die 'dynbinary failed'
785 -
786 - # TODO get go-md2man and then include the man pages using docs/man/md2man-all.sh
787 -}
788 -
789 -src_install() {
790 - VERSION=$(cat VERSION)
791 - newbin bundles/$VERSION/dynbinary/docker-$VERSION docker
792 - exeinto /usr/libexec/docker
793 - newexe bundles/$VERSION/dynbinary/dockerinit-$VERSION dockerinit
794 -
795 - newinitd contrib/init/openrc/docker.initd docker
796 - newconfd contrib/init/openrc/docker.confd docker
797 -
798 - systemd_dounit contrib/init/systemd/docker.{service,socket}
799 -
800 - udev_dorules contrib/udev/*.rules
801 -
802 - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
803 - if use doc; then
804 - # TODO doman contrib/man/man*/*
805 -
806 - docompress -x /usr/share/doc/${PF}/md
807 - docinto md
808 - dodoc -r docs/sources/*
809 - fi
810 -
811 - dobashcomp contrib/completion/bash/*
812 -
813 - insinto /usr/share/zsh/site-functions
814 - doins contrib/completion/zsh/*
815 -
816 - if use vim-syntax; then
817 - insinto /usr/share/vim/vimfiles
818 - doins -r contrib/syntax/vim/ftdetect
819 - doins -r contrib/syntax/vim/syntax
820 - fi
821 -
822 - if use contrib; then
823 - mkdir -p "${D}/usr/share/${PN}/contrib"
824 - cp -R contrib/* "${D}/usr/share/${PN}/contrib"
825 - fi
826 -}
827 -
828 -pkg_postinst() {
829 - udev_reload
830 -
831 - elog ""
832 - elog "To use Docker, the Docker daemon must be running as root. To automatically"
833 - elog "start the Docker daemon at boot, add Docker to the default runlevel:"
834 - elog " rc-update add docker default"
835 - elog "Similarly for systemd:"
836 - elog " systemctl enable docker.service"
837 - elog ""
838 -
839 - # create docker group if the code checking for it in /etc/group exists
840 - enewgroup docker
841 -
842 - elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
843 - elog " usermod -aG docker youruser"
844 - elog ""
845 -}
846
847 diff --git a/app-emulation/docker/docker-1.6.2.ebuild b/app-emulation/docker/docker-1.6.2.ebuild
848 deleted file mode 100644
849 index 1eb4f5f..0000000
850 --- a/app-emulation/docker/docker-1.6.2.ebuild
851 +++ /dev/null
852 @@ -1,246 +0,0 @@
853 -# Copyright 1999-2015 Gentoo Foundation
854 -# Distributed under the terms of the GNU General Public License v2
855 -# $Id$
856 -
857 -EAPI=5
858 -
859 -DESCRIPTION="Docker complements kernel namespacing with a high-level API which operates at the process level"
860 -HOMEPAGE="https://www.docker.com"
861 -
862 -GITHUB_URI="github.com/docker/docker"
863 -
864 -if [[ ${PV} == *9999 ]]; then
865 - SRC_URI=""
866 - EGIT_REPO_URI="git://${GITHUB_URI}.git"
867 - inherit git-2
868 -else
869 - MY_PV="${PV/_/-}"
870 - MY_P="${PN}-${MY_PV}"
871 - SRC_URI="https://${GITHUB_URI}/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
872 - S="${WORKDIR}/${MY_P}"
873 - DOCKER_GITCOMMIT="7c8fca2"
874 - KEYWORDS="~amd64"
875 - [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
876 -fi
877 -
878 -inherit bash-completion-r1 eutils linux-info multilib systemd udev user
879 -
880 -LICENSE="Apache-2.0"
881 -SLOT="0"
882 -IUSE="aufs btrfs +contrib +device-mapper doc lxc overlay vim-syntax"
883 -
884 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies
885 -CDEPEND="
886 - >=dev-db/sqlite-3.7.9:3
887 - device-mapper? (
888 - >=sys-fs/lvm2-2.02.89[thin]
889 - )
890 -"
891 -
892 -DEPEND="
893 - ${CDEPEND}
894 - >=dev-lang/go-1.3
895 - btrfs? (
896 - >=sys-fs/btrfs-progs-3.16.1
897 - )
898 -"
899 -
900 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies
901 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies
902 -RDEPEND="
903 - ${CDEPEND}
904 -
905 - !app-emulation/docker-bin
906 - >=net-firewall/iptables-1.4
907 - sys-process/procps
908 - >=dev-vcs/git-1.7
909 - >=app-arch/xz-utils-4.9
910 -
911 - lxc? (
912 - >=app-emulation/lxc-1.0.7
913 - )
914 - aufs? (
915 - || (
916 - sys-fs/aufs3
917 - sys-fs/aufs4
918 - sys-kernel/aufs-sources
919 - )
920 - )
921 -"
922 -
923 -RESTRICT="installsources strip"
924 -
925 -# see "contrib/check-config.sh" from upstream's sources
926 -CONFIG_CHECK="
927 - NAMESPACES NET_NS PID_NS IPC_NS UTS_NS
928 - DEVPTS_MULTIPLE_INSTANCES
929 - CGROUPS CGROUP_CPUACCT CGROUP_DEVICE CGROUP_FREEZER CGROUP_SCHED CPUSETS
930 - MACVLAN VETH BRIDGE
931 - NF_NAT_IPV4 IP_NF_FILTER IP_NF_TARGET_MASQUERADE
932 - NETFILTER_XT_MATCH_ADDRTYPE NETFILTER_XT_MATCH_CONNTRACK
933 - NF_NAT NF_NAT_NEEDED
934 -
935 - POSIX_MQUEUE
936 -
937 - ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
938 - ~RESOURCE_COUNTERS
939 - ~CGROUP_PERF
940 - ~CFS_BANDWIDTH
941 -"
942 -
943 -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
944 -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
945 -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
946 -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
947 -
948 -pkg_setup() {
949 - if kernel_is lt 3 10; then
950 - eerror ""
951 - eerror "Using Docker with kernels older than 3.10 is unstable and unsupported."
952 - eerror " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies"
953 - die 'Kernel is too old - need 3.10 or above'
954 - fi
955 -
956 - # for where these kernel versions come from, see:
957 - # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
958 - if ! {
959 - kernel_is ge 3 16 \
960 - || { kernel_is 3 15 && kernel_is ge 3 15 5; } \
961 - || { kernel_is 3 14 && kernel_is ge 3 14 12; } \
962 - || { kernel_is 3 12 && kernel_is ge 3 12 25; }
963 - }; then
964 - ewarn ""
965 - ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
966 - ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
967 - ewarn ""
968 - ewarn "See also https://github.com/docker/docker/issues/2960"
969 - fi
970 -
971 - if use aufs; then
972 - CONFIG_CHECK+="
973 - ~AUFS_FS
974 - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
975 - "
976 - # TODO there must be a way to detect "sys-kernel/aufs-sources" so we don't warn "sys-fs/aufs3" users about this
977 - # an even better solution would be to check if the current kernel sources include CONFIG_AUFS_FS as an option, but that sounds hairy and error-prone
978 - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used"
979 - fi
980 -
981 - if use btrfs; then
982 - CONFIG_CHECK+="
983 - ~BTRFS_FS
984 - "
985 - fi
986 -
987 - if use device-mapper; then
988 - CONFIG_CHECK+="
989 - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
990 - "
991 - fi
992 -
993 - if use overlay; then
994 - CONFIG_CHECK+="
995 - ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
996 - "
997 - fi
998 -
999 - linux-info_pkg_setup
1000 -}
1001 -
1002 -src_prepare() {
1003 - # allow user patches (use sparingly - upstream won't support them)
1004 - epatch_user
1005 -}
1006 -
1007 -src_compile() {
1008 - # if we treat them right, Docker's build scripts will set up a
1009 - # reasonable GOPATH for us
1010 - export AUTO_GOPATH=1
1011 -
1012 - # setup CFLAGS and LDFLAGS for separate build target
1013 - # see https://github.com/tianon/docker-overlay/pull/10
1014 - export CGO_CFLAGS="-I${ROOT}/usr/include"
1015 - export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
1016 -
1017 - # if we're building from a zip, we need the GITCOMMIT value
1018 - [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
1019 -
1020 - if gcc-specs-pie; then
1021 - sed -i "s/EXTLDFLAGS_STATIC='/EXTLDFLAGS_STATIC='-fno-PIC /" hack/make.sh || die
1022 - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
1023 -
1024 - sed -i "s/LDFLAGS_STATIC_DOCKER='/LDFLAGS_STATIC_DOCKER='-extldflags -fno-PIC /" hack/make/dynbinary || die
1025 - grep -q -- '-fno-PIC' hack/make/dynbinary || die 'hardened sed failed'
1026 - fi
1027 -
1028 - # let's set up some optional features :)
1029 - export DOCKER_BUILDTAGS=''
1030 - for gd in aufs btrfs device-mapper overlay; do
1031 - if ! use $gd; then
1032 - DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
1033 - fi
1034 - done
1035 -
1036 - # time to build!
1037 - ./hack/make.sh dynbinary || die 'dynbinary failed'
1038 -
1039 - # TODO get go-md2man and then include the man pages using docs/man/md2man-all.sh
1040 -}
1041 -
1042 -src_install() {
1043 - VERSION=$(cat VERSION)
1044 - newbin bundles/$VERSION/dynbinary/docker-$VERSION docker
1045 - exeinto /usr/libexec/docker
1046 - newexe bundles/$VERSION/dynbinary/dockerinit-$VERSION dockerinit
1047 -
1048 - newinitd contrib/init/openrc/docker.initd docker
1049 - newconfd contrib/init/openrc/docker.confd docker
1050 -
1051 - systemd_dounit contrib/init/systemd/docker.{service,socket}
1052 -
1053 - udev_dorules contrib/udev/*.rules
1054 -
1055 - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
1056 - if use doc; then
1057 - # TODO doman contrib/man/man*/*
1058 -
1059 - docompress -x /usr/share/doc/${PF}/md
1060 - docinto md
1061 - dodoc -r docs/sources/*
1062 - fi
1063 -
1064 - dobashcomp contrib/completion/bash/*
1065 -
1066 - insinto /usr/share/zsh/site-functions
1067 - doins contrib/completion/zsh/*
1068 -
1069 - if use vim-syntax; then
1070 - insinto /usr/share/vim/vimfiles
1071 - doins -r contrib/syntax/vim/ftdetect
1072 - doins -r contrib/syntax/vim/syntax
1073 - fi
1074 -
1075 - if use contrib; then
1076 - mkdir -p "${D}/usr/share/${PN}/contrib"
1077 - cp -R contrib/* "${D}/usr/share/${PN}/contrib"
1078 - fi
1079 -}
1080 -
1081 -pkg_postinst() {
1082 - udev_reload
1083 -
1084 - elog ""
1085 - elog "To use Docker, the Docker daemon must be running as root. To automatically"
1086 - elog "start the Docker daemon at boot, add Docker to the default runlevel:"
1087 - elog " rc-update add docker default"
1088 - elog "Similarly for systemd:"
1089 - elog " systemctl enable docker.service"
1090 - elog ""
1091 -
1092 - # create docker group if the code checking for it in /etc/group exists
1093 - enewgroup docker
1094 -
1095 - elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
1096 - elog " usermod -aG docker youruser"
1097 - elog ""
1098 -}
1099
1100 diff --git a/app-emulation/docker/docker-1.7.1.ebuild b/app-emulation/docker/docker-1.7.1.ebuild
1101 deleted file mode 100644
1102 index 6f618a2..0000000
1103 --- a/app-emulation/docker/docker-1.7.1.ebuild
1104 +++ /dev/null
1105 @@ -1,268 +0,0 @@
1106 -# Copyright 1999-2015 Gentoo Foundation
1107 -# Distributed under the terms of the GNU General Public License v2
1108 -# $Id$
1109 -
1110 -EAPI=5
1111 -
1112 -DESCRIPTION="Docker complements kernel namespacing with a high-level API which operates at the process level"
1113 -HOMEPAGE="https://www.docker.com"
1114 -
1115 -GITHUB_URI="github.com/docker/docker"
1116 -
1117 -if [[ ${PV} == *9999 ]]; then
1118 - SRC_URI=""
1119 - EGIT_REPO_URI="git://${GITHUB_URI}.git"
1120 - inherit git-2
1121 -else
1122 - MY_PV="${PV/_/-}"
1123 - MY_P="${PN}-${MY_PV}"
1124 - SRC_URI="https://${GITHUB_URI}/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
1125 - S="${WORKDIR}/${MY_P}"
1126 - DOCKER_GITCOMMIT="786b29d"
1127 - KEYWORDS="amd64"
1128 - [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
1129 -fi
1130 -
1131 -inherit bash-completion-r1 eutils linux-info multilib systemd udev user
1132 -
1133 -LICENSE="Apache-2.0"
1134 -SLOT="0"
1135 -IUSE="apparmor aufs btrfs +contrib +device-mapper doc experimental lxc overlay vim-syntax"
1136 -
1137 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies
1138 -CDEPEND="
1139 - >=dev-db/sqlite-3.7.9:3
1140 - device-mapper? (
1141 - >=sys-fs/lvm2-2.02.89[thin]
1142 - )
1143 -"
1144 -
1145 -DEPEND="
1146 - ${CDEPEND}
1147 - >=dev-lang/go-1.4:=
1148 - btrfs? (
1149 - >=sys-fs/btrfs-progs-3.8
1150 - )
1151 -"
1152 -
1153 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies
1154 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies
1155 -RDEPEND="
1156 - ${CDEPEND}
1157 -
1158 - !app-emulation/docker-bin
1159 - >=net-firewall/iptables-1.4
1160 - sys-process/procps
1161 - >=dev-vcs/git-1.7
1162 - >=app-arch/xz-utils-4.9
1163 -
1164 - lxc? (
1165 - >=app-emulation/lxc-1.0.7
1166 - )
1167 - aufs? (
1168 - || (
1169 - sys-fs/aufs3
1170 - sys-fs/aufs4
1171 - sys-kernel/aufs-sources
1172 - )
1173 - )
1174 -
1175 - apparmor? (
1176 - sys-libs/libapparmor[static-libs]
1177 - )
1178 -"
1179 -
1180 -RESTRICT="installsources strip"
1181 -
1182 -# see "contrib/check-config.sh" from upstream's sources
1183 -CONFIG_CHECK="
1184 - ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
1185 - ~DEVPTS_MULTIPLE_INSTANCES
1186 - ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS
1187 - ~MACVLAN ~VETH ~BRIDGE ~BRIDGE_NETFILTER
1188 - ~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
1189 - ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK
1190 - ~NF_NAT ~NF_NAT_NEEDED
1191 -
1192 - ~POSIX_MQUEUE
1193 -
1194 - ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
1195 -
1196 - ~BLK_CGROUP
1197 - ~IOSCHED_CFQ
1198 - ~CGROUP_PERF
1199 - ~CFS_BANDWIDTH
1200 -"
1201 -
1202 -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
1203 -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
1204 -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
1205 -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
1206 -
1207 -pkg_setup() {
1208 - if kernel_is lt 3 10; then
1209 - ewarn ""
1210 - ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
1211 - ewarn " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies"
1212 - fi
1213 -
1214 - # for where these kernel versions come from, see:
1215 - # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
1216 - if ! {
1217 - kernel_is ge 3 16 \
1218 - || { kernel_is 3 15 && kernel_is ge 3 15 5; } \
1219 - || { kernel_is 3 14 && kernel_is ge 3 14 12; } \
1220 - || { kernel_is 3 12 && kernel_is ge 3 12 25; }
1221 - }; then
1222 - ewarn ""
1223 - ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
1224 - ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
1225 - ewarn ""
1226 - ewarn "See also https://github.com/docker/docker/issues/2960"
1227 - fi
1228 -
1229 - if kernel_is le 3 18; then
1230 - CONFIG_CHECK+="
1231 - ~RESOURCE_COUNTERS
1232 - "
1233 - fi
1234 -
1235 - if use aufs; then
1236 - CONFIG_CHECK+="
1237 - ~AUFS_FS
1238 - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
1239 - "
1240 - # TODO there must be a way to detect "sys-kernel/aufs-sources" so we don't warn "sys-fs/aufs3" users about this
1241 - # an even better solution would be to check if the current kernel sources include CONFIG_AUFS_FS as an option, but that sounds hairy and error-prone
1242 - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used"
1243 - fi
1244 -
1245 - if use btrfs; then
1246 - CONFIG_CHECK+="
1247 - ~BTRFS_FS
1248 - "
1249 - fi
1250 -
1251 - if use device-mapper; then
1252 - CONFIG_CHECK+="
1253 - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
1254 - "
1255 - fi
1256 -
1257 - if use overlay; then
1258 - CONFIG_CHECK+="
1259 - ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
1260 - "
1261 - fi
1262 -
1263 - linux-info_pkg_setup
1264 -}
1265 -
1266 -src_prepare() {
1267 - # allow user patches (use sparingly - upstream won't support them)
1268 - epatch_user
1269 -}
1270 -
1271 -src_compile() {
1272 - # if we treat them right, Docker's build scripts will set up a
1273 - # reasonable GOPATH for us
1274 - export AUTO_GOPATH=1
1275 -
1276 - # setup CFLAGS and LDFLAGS for separate build target
1277 - # see https://github.com/tianon/docker-overlay/pull/10
1278 - export CGO_CFLAGS="-I${ROOT}/usr/include"
1279 - export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
1280 -
1281 - # if we're building from a zip, we need the GITCOMMIT value
1282 - [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
1283 -
1284 - if gcc-specs-pie; then
1285 - sed -i "s/EXTLDFLAGS_STATIC='/EXTLDFLAGS_STATIC='-fno-PIC /" hack/make.sh || die
1286 - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
1287 -
1288 - sed -i "s/LDFLAGS_STATIC_DOCKER='/LDFLAGS_STATIC_DOCKER='-extldflags -fno-PIC /" hack/make/dynbinary || die
1289 - grep -q -- '-fno-PIC' hack/make/dynbinary || die 'hardened sed failed'
1290 - fi
1291 -
1292 - # let's set up some optional features :)
1293 - export DOCKER_BUILDTAGS=''
1294 - for gd in aufs btrfs device-mapper overlay; do
1295 - if ! use $gd; then
1296 - DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
1297 - fi
1298 - done
1299 -
1300 - if use apparmor; then
1301 - DOCKER_BUILDTAGS+=' apparmor'
1302 - fi
1303 -
1304 - # https://github.com/docker/docker/pull/13338
1305 - if use experimental; then
1306 - export DOCKER_EXPERIMENTAL=1
1307 - else
1308 - unset DOCKER_EXPERIMENTAL
1309 - fi
1310 -
1311 - # time to build!
1312 - ./hack/make.sh dynbinary || die 'dynbinary failed'
1313 -
1314 - # TODO get go-md2man and then include the man pages using man/md2man-all.sh
1315 -}
1316 -
1317 -src_install() {
1318 - VERSION=$(cat VERSION)
1319 - newbin bundles/$VERSION/dynbinary/docker-$VERSION docker
1320 - exeinto /usr/libexec/docker
1321 - newexe bundles/$VERSION/dynbinary/dockerinit-$VERSION dockerinit
1322 -
1323 - newinitd contrib/init/openrc/docker.initd docker
1324 - newconfd contrib/init/openrc/docker.confd docker
1325 -
1326 - systemd_dounit contrib/init/systemd/docker.{service,socket}
1327 -
1328 - udev_dorules contrib/udev/*.rules
1329 -
1330 - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
1331 - if use doc; then
1332 - # TODO doman man/man*/*
1333 -
1334 - docompress -x /usr/share/doc/${PF}/md
1335 - docinto md
1336 - dodoc -r docs/*
1337 - fi
1338 -
1339 - dobashcomp contrib/completion/bash/*
1340 -
1341 - insinto /usr/share/zsh/site-functions
1342 - doins contrib/completion/zsh/*
1343 -
1344 - if use vim-syntax; then
1345 - insinto /usr/share/vim/vimfiles
1346 - doins -r contrib/syntax/vim/ftdetect
1347 - doins -r contrib/syntax/vim/syntax
1348 - fi
1349 -
1350 - if use contrib; then
1351 - mkdir -p "${D}/usr/share/${PN}/contrib"
1352 - cp -R contrib/* "${D}/usr/share/${PN}/contrib"
1353 - fi
1354 -}
1355 -
1356 -pkg_postinst() {
1357 - udev_reload
1358 -
1359 - elog ""
1360 - elog "To use Docker, the Docker daemon must be running as root. To automatically"
1361 - elog "start the Docker daemon at boot, add Docker to the default runlevel:"
1362 - elog " rc-update add docker default"
1363 - elog "Similarly for systemd:"
1364 - elog " systemctl enable docker.service"
1365 - elog ""
1366 -
1367 - # create docker group if the code checking for it in /etc/group exists
1368 - enewgroup docker
1369 -
1370 - elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
1371 - elog " usermod -aG docker youruser"
1372 - elog ""
1373 -}
1374
1375 diff --git a/app-emulation/docker/docker-1.8.1.ebuild b/app-emulation/docker/docker-1.8.1.ebuild
1376 deleted file mode 100644
1377 index 73cc01d..0000000
1378 --- a/app-emulation/docker/docker-1.8.1.ebuild
1379 +++ /dev/null
1380 @@ -1,268 +0,0 @@
1381 -# Copyright 1999-2015 Gentoo Foundation
1382 -# Distributed under the terms of the GNU General Public License v2
1383 -# $Id$
1384 -
1385 -EAPI=5
1386 -
1387 -EGO_PN="github.com/docker/docker"
1388 -
1389 -if [[ ${PV} = *9999* ]]; then
1390 - # Docker cannot be fetched via "go get", thanks to autogenerated code
1391 - EGIT_REPO_URI="https://${EGO_PN}.git"
1392 - EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
1393 - inherit git-r3
1394 -else
1395 - MY_PV="${PV/_/-}"
1396 - DOCKER_GITCOMMIT="d12ea79"
1397 - EGIT_COMMIT="v${MY_PV}"
1398 - SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
1399 - KEYWORDS="~amd64"
1400 - [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
1401 - inherit golang-vcs-snapshot
1402 -fi
1403 -inherit eutils bash-completion-r1 linux-info multilib systemd udev user
1404 -
1405 -DESCRIPTION="Docker complements kernel namespacing with a high-level API which operates at the process level"
1406 -HOMEPAGE="https://dockerproject.org"
1407 -LICENSE="Apache-2.0"
1408 -SLOT="0"
1409 -IUSE="apparmor aufs btrfs +device-mapper experimental lxc overlay"
1410 -
1411 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies
1412 -CDEPEND="
1413 - >=dev-db/sqlite-3.7.9:3
1414 - device-mapper? (
1415 - >=sys-fs/lvm2-2.02.89[thin]
1416 - )
1417 -"
1418 -
1419 -DEPEND="
1420 - ${CDEPEND}
1421 -
1422 - dev-go/go-md2man
1423 -
1424 - btrfs? (
1425 - >=sys-fs/btrfs-progs-3.8
1426 - )
1427 -"
1428 -
1429 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies
1430 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies
1431 -RDEPEND="
1432 - ${CDEPEND}
1433 -
1434 - !app-emulation/docker-bin
1435 - >=net-firewall/iptables-1.4
1436 - sys-process/procps
1437 - >=dev-vcs/git-1.7
1438 - >=app-arch/xz-utils-4.9
1439 -
1440 - lxc? (
1441 - >=app-emulation/lxc-1.0.7
1442 - )
1443 -
1444 - apparmor? (
1445 - sys-libs/libapparmor[static-libs]
1446 - )
1447 -"
1448 -
1449 -RESTRICT="installsources strip"
1450 -
1451 -# see "contrib/check-config.sh" from upstream's sources
1452 -CONFIG_CHECK="
1453 - ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
1454 - ~DEVPTS_MULTIPLE_INSTANCES
1455 - ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
1456 - ~MACVLAN ~VETH ~BRIDGE ~BRIDGE_NETFILTER
1457 - ~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
1458 - ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK
1459 - ~NF_NAT ~NF_NAT_NEEDED
1460 -
1461 - ~POSIX_MQUEUE
1462 -
1463 - ~MEMCG_KMEM ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
1464 -
1465 - ~BLK_CGROUP ~IOSCHED_CFQ
1466 - ~CGROUP_PERF
1467 - ~CGROUP_HUGETLB
1468 - ~NET_CLS_CGROUP
1469 - ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
1470 -"
1471 -
1472 -ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
1473 -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
1474 -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
1475 -
1476 -ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
1477 -ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
1478 -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
1479 -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
1480 -
1481 -pkg_setup() {
1482 - if kernel_is lt 3 10; then
1483 - ewarn ""
1484 - ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
1485 - ewarn " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies"
1486 - fi
1487 -
1488 - # for where these kernel versions come from, see:
1489 - # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
1490 - if ! {
1491 - kernel_is ge 3 16 \
1492 - || { kernel_is 3 15 && kernel_is ge 3 15 5; } \
1493 - || { kernel_is 3 14 && kernel_is ge 3 14 12; } \
1494 - || { kernel_is 3 12 && kernel_is ge 3 12 25; }
1495 - }; then
1496 - ewarn ""
1497 - ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
1498 - ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
1499 - ewarn ""
1500 - ewarn "See also https://github.com/docker/docker/issues/2960"
1501 - fi
1502 -
1503 - if kernel_is le 3 18; then
1504 - CONFIG_CHECK+="
1505 - ~RESOURCE_COUNTERS
1506 - "
1507 - fi
1508 -
1509 - if kernel_is le 3 13; then
1510 - CONFIG_CHECK+="
1511 - ~NETPRIO_CGROUP
1512 - "
1513 - else
1514 - CONFIG_CHECK+="
1515 - ~CGROUP_NET_PRIO
1516 - "
1517 - fi
1518 -
1519 - if use aufs; then
1520 - CONFIG_CHECK+="
1521 - ~AUFS_FS
1522 - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
1523 - "
1524 - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
1525 - fi
1526 -
1527 - if use btrfs; then
1528 - CONFIG_CHECK+="
1529 - ~BTRFS_FS
1530 - "
1531 - fi
1532 -
1533 - if use device-mapper; then
1534 - CONFIG_CHECK+="
1535 - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
1536 - "
1537 - fi
1538 -
1539 - if use overlay; then
1540 - CONFIG_CHECK+="
1541 - ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
1542 - "
1543 - fi
1544 -
1545 - linux-info_pkg_setup
1546 -
1547 - # create docker group for the code checking for it in /etc/group
1548 - enewgroup docker
1549 -}
1550 -
1551 -src_prepare() {
1552 - cd "src/${EGO_PN}" || die
1553 - epatch "${FILESDIR}"/15404-fix-go14_15.patch
1554 - # allow user patches (use sparingly - upstream won't support them)
1555 - epatch_user
1556 -}
1557 -
1558 -src_compile() {
1559 - cd "src/${EGO_PN}" || die
1560 - export GOPATH="${WORKDIR}/${P}:${PWD}/vendor:$(get_golibdir_gopath)"
1561 -
1562 - # setup CFLAGS and LDFLAGS for separate build target
1563 - # see https://github.com/tianon/docker-overlay/pull/10
1564 - export CGO_CFLAGS="-I${ROOT}/usr/include"
1565 - export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
1566 -
1567 - # if we're building from a zip, we need the GITCOMMIT value
1568 - [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
1569 -
1570 - if gcc-specs-pie; then
1571 - sed -i "s/EXTLDFLAGS_STATIC='/EXTLDFLAGS_STATIC='-fno-PIC /" hack/make.sh || die
1572 - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
1573 -
1574 - sed -i "s/LDFLAGS_STATIC_DOCKER='/LDFLAGS_STATIC_DOCKER='-extldflags -fno-PIC /" hack/make/dynbinary || die
1575 - grep -q -- '-fno-PIC' hack/make/dynbinary || die 'hardened sed failed'
1576 - fi
1577 -
1578 - # let's set up some optional features :)
1579 - export DOCKER_BUILDTAGS=''
1580 - for gd in aufs btrfs device-mapper overlay; do
1581 - if ! use $gd; then
1582 - DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
1583 - fi
1584 - done
1585 -
1586 - if use apparmor; then
1587 - DOCKER_BUILDTAGS+=' apparmor'
1588 - fi
1589 -
1590 - # https://github.com/docker/docker/pull/13338
1591 - if use experimental; then
1592 - export DOCKER_EXPERIMENTAL=1
1593 - else
1594 - unset DOCKER_EXPERIMENTAL
1595 - fi
1596 -
1597 - # time to build!
1598 - ./hack/make.sh dynbinary || die 'dynbinary failed'
1599 -
1600 - # build the man pages too
1601 - ./man/md2man-all.sh || die "unable to generate man pages"
1602 -}
1603 -
1604 -src_install() {
1605 - cd "src/${EGO_PN}" || die
1606 - VERSION="$(cat VERSION)"
1607 - newbin "bundles/$VERSION/dynbinary/docker-$VERSION" docker
1608 - exeinto /usr/libexec/docker
1609 - newexe "bundles/$VERSION/dynbinary/dockerinit-$VERSION" dockerinit
1610 -
1611 - newinitd contrib/init/openrc/docker.initd docker
1612 - newconfd contrib/init/openrc/docker.confd docker
1613 -
1614 - systemd_dounit contrib/init/systemd/docker.{service,socket}
1615 -
1616 - udev_dorules contrib/udev/*.rules
1617 -
1618 - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
1619 - dodoc -r docs/*
1620 - doman man/man*/*
1621 -
1622 - dobashcomp contrib/completion/bash/*
1623 -
1624 - insinto /usr/share/zsh/site-functions
1625 - doins contrib/completion/zsh/*
1626 -
1627 - insinto /usr/share/vim/vimfiles
1628 - doins -r contrib/syntax/vim/ftdetect
1629 - doins -r contrib/syntax/vim/syntax
1630 -
1631 - insinto "/usr/share/${PN}/contrib"
1632 - doins -r contrib/*
1633 -}
1634 -
1635 -pkg_postinst() {
1636 - udev_reload
1637 -
1638 - elog
1639 - elog "To use Docker, the Docker daemon must be running as root. To automatically"
1640 - elog "start the Docker daemon at boot, add Docker to the default runlevel:"
1641 - elog " rc-update add docker default"
1642 - elog "Similarly for systemd:"
1643 - elog " systemctl enable docker.service"
1644 - elog
1645 - elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
1646 - elog " usermod -aG docker youruser"
1647 - elog
1648 -}
1649
1650 diff --git a/app-emulation/docker/docker-1.8.2.ebuild b/app-emulation/docker/docker-1.8.2.ebuild
1651 deleted file mode 100644
1652 index 031c749..0000000
1653 --- a/app-emulation/docker/docker-1.8.2.ebuild
1654 +++ /dev/null
1655 @@ -1,270 +0,0 @@
1656 -# Copyright 1999-2015 Gentoo Foundation
1657 -# Distributed under the terms of the GNU General Public License v2
1658 -# $Id$
1659 -
1660 -EAPI=5
1661 -
1662 -EGO_PN="github.com/docker/docker"
1663 -
1664 -if [[ ${PV} = *9999* ]]; then
1665 - # Docker cannot be fetched via "go get", thanks to autogenerated code
1666 - EGIT_REPO_URI="https://${EGO_PN}.git"
1667 - EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
1668 - inherit git-r3
1669 -else
1670 - MY_PV="${PV/_/-}"
1671 - DOCKER_GITCOMMIT="0a8c2e3"
1672 - EGIT_COMMIT="v${MY_PV}"
1673 - SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
1674 - KEYWORDS="~amd64"
1675 - [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
1676 - inherit golang-vcs-snapshot
1677 -fi
1678 -inherit bash-completion-r1 eutils linux-info multilib systemd udev user
1679 -
1680 -DESCRIPTION="Docker complements kernel namespacing with a high-level API which operates at the process level"
1681 -HOMEPAGE="https://dockerproject.org"
1682 -LICENSE="Apache-2.0"
1683 -SLOT="0"
1684 -IUSE="apparmor aufs btrfs +device-mapper experimental lxc overlay"
1685 -
1686 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies
1687 -CDEPEND="
1688 - >=dev-db/sqlite-3.7.9:3
1689 - device-mapper? (
1690 - >=sys-fs/lvm2-2.02.89[thin]
1691 - )
1692 -"
1693 -
1694 -DEPEND="
1695 - ${CDEPEND}
1696 -
1697 - dev-go/go-md2man
1698 -
1699 - btrfs? (
1700 - >=sys-fs/btrfs-progs-3.8
1701 - )
1702 -"
1703 -
1704 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies
1705 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies
1706 -RDEPEND="
1707 - ${CDEPEND}
1708 -
1709 - !app-emulation/docker-bin
1710 - >=net-firewall/iptables-1.4
1711 - sys-process/procps
1712 - >=dev-vcs/git-1.7
1713 - >=app-arch/xz-utils-4.9
1714 -
1715 - lxc? (
1716 - >=app-emulation/lxc-1.0.7
1717 - )
1718 -
1719 - apparmor? (
1720 - sys-libs/libapparmor[static-libs]
1721 - )
1722 -"
1723 -
1724 -RESTRICT="installsources strip"
1725 -
1726 -# see "contrib/check-config.sh" from upstream's sources
1727 -CONFIG_CHECK="
1728 - ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
1729 - ~DEVPTS_MULTIPLE_INSTANCES
1730 - ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
1731 - ~MACVLAN ~VETH ~BRIDGE ~BRIDGE_NETFILTER
1732 - ~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
1733 - ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK
1734 - ~NF_NAT ~NF_NAT_NEEDED
1735 -
1736 - ~POSIX_MQUEUE
1737 -
1738 - ~MEMCG_KMEM ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
1739 -
1740 - ~BLK_CGROUP ~IOSCHED_CFQ
1741 - ~CGROUP_PERF
1742 - ~CGROUP_HUGETLB
1743 - ~NET_CLS_CGROUP
1744 - ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
1745 -"
1746 -
1747 -ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
1748 -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
1749 -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
1750 -
1751 -ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
1752 -ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
1753 -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
1754 -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
1755 -
1756 -pkg_setup() {
1757 - if kernel_is lt 3 10; then
1758 - ewarn ""
1759 - ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
1760 - ewarn " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies"
1761 - fi
1762 -
1763 - # for where these kernel versions come from, see:
1764 - # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
1765 - if ! {
1766 - kernel_is ge 3 16 \
1767 - || { kernel_is 3 15 && kernel_is ge 3 15 5; } \
1768 - || { kernel_is 3 14 && kernel_is ge 3 14 12; } \
1769 - || { kernel_is 3 12 && kernel_is ge 3 12 25; }
1770 - }; then
1771 - ewarn ""
1772 - ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
1773 - ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
1774 - ewarn ""
1775 - ewarn "See also https://github.com/docker/docker/issues/2960"
1776 - fi
1777 -
1778 - if kernel_is le 3 18; then
1779 - CONFIG_CHECK+="
1780 - ~RESOURCE_COUNTERS
1781 - "
1782 - fi
1783 -
1784 - if kernel_is le 3 13; then
1785 - CONFIG_CHECK+="
1786 - ~NETPRIO_CGROUP
1787 - "
1788 - else
1789 - CONFIG_CHECK+="
1790 - ~CGROUP_NET_PRIO
1791 - "
1792 - fi
1793 -
1794 - if use aufs; then
1795 - CONFIG_CHECK+="
1796 - ~AUFS_FS
1797 - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
1798 - "
1799 - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
1800 - fi
1801 -
1802 - if use btrfs; then
1803 - CONFIG_CHECK+="
1804 - ~BTRFS_FS
1805 - "
1806 - fi
1807 -
1808 - if use device-mapper; then
1809 - CONFIG_CHECK+="
1810 - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
1811 - "
1812 - fi
1813 -
1814 - if use overlay; then
1815 - CONFIG_CHECK+="
1816 - ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
1817 - "
1818 - fi
1819 -
1820 - linux-info_pkg_setup
1821 -
1822 - # create docker group for the code checking for it in /etc/group
1823 - enewgroup docker
1824 -}
1825 -
1826 -src_prepare() {
1827 - cd "src/${EGO_PN}" || die
1828 - epatch "${FILESDIR}"/15404-fix-go14_15.patch
1829 - # allow user patches (use sparingly - upstream won't support them)
1830 - epatch_user
1831 -}
1832 -
1833 -src_compile() {
1834 - cd "src/${EGO_PN}" || die
1835 - export GOPATH="${WORKDIR}/${P}:${PWD}/vendor:$(get_golibdir_gopath)"
1836 -
1837 - # setup CFLAGS and LDFLAGS for separate build target
1838 - # see https://github.com/tianon/docker-overlay/pull/10
1839 - export CGO_CFLAGS="-I${ROOT}/usr/include"
1840 - export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
1841 -
1842 - # if we're building from a zip, we need the GITCOMMIT value
1843 - [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
1844 -
1845 - if gcc-specs-pie; then
1846 - sed -i "s/EXTLDFLAGS_STATIC='/EXTLDFLAGS_STATIC='-fno-PIC /" hack/make.sh || die
1847 - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
1848 -
1849 - sed -i "s/LDFLAGS_STATIC_DOCKER='/LDFLAGS_STATIC_DOCKER='-extldflags -fno-PIC /" hack/make/dynbinary || die
1850 - grep -q -- '-fno-PIC' hack/make/dynbinary || die 'hardened sed failed'
1851 - fi
1852 -
1853 - # let's set up some optional features :)
1854 - export DOCKER_BUILDTAGS=''
1855 - for gd in aufs btrfs device-mapper overlay; do
1856 - if ! use $gd; then
1857 - DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
1858 - fi
1859 - done
1860 -
1861 - if use apparmor; then
1862 - DOCKER_BUILDTAGS+=' apparmor'
1863 - fi
1864 -
1865 - # https://github.com/docker/docker/pull/13338
1866 - if use experimental; then
1867 - export DOCKER_EXPERIMENTAL=1
1868 - else
1869 - unset DOCKER_EXPERIMENTAL
1870 - fi
1871 -
1872 - # time to build!
1873 - ./hack/make.sh dynbinary || die 'dynbinary failed'
1874 -
1875 - # build the man pages too
1876 - ./man/md2man-all.sh || die "unable to generate man pages"
1877 -}
1878 -
1879 -src_install() {
1880 - cd "src/${EGO_PN}" || die
1881 - VERSION="$(cat VERSION)"
1882 - newbin "bundles/$VERSION/dynbinary/docker-$VERSION" docker
1883 - exeinto /usr/libexec/docker
1884 - newexe "bundles/$VERSION/dynbinary/dockerinit-$VERSION" dockerinit
1885 -
1886 - newinitd contrib/init/openrc/docker.initd docker
1887 - newconfd contrib/init/openrc/docker.confd docker
1888 -
1889 - systemd_dounit contrib/init/systemd/docker.{service,socket}
1890 -
1891 - udev_dorules contrib/udev/*.rules
1892 -
1893 - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
1894 - dodoc -r docs/*
1895 - doman man/man*/*
1896 -
1897 - dobashcomp contrib/completion/bash/*
1898 -
1899 - insinto /usr/share/zsh/site-functions
1900 - doins contrib/completion/zsh/*
1901 -
1902 - insinto /usr/share/vim/vimfiles
1903 - doins -r contrib/syntax/vim/ftdetect
1904 - doins -r contrib/syntax/vim/syntax
1905 -
1906 - exeinto /usr/share/${PN}/contrib
1907 - doexe contrib/*.{sh,pl}
1908 - insinto /usr/share/${PN}/contrib
1909 - doins contrib/*.{conf,sample}
1910 -}
1911 -
1912 -pkg_postinst() {
1913 - udev_reload
1914 -
1915 - elog
1916 - elog "To use Docker, the Docker daemon must be running as root. To automatically"
1917 - elog "start the Docker daemon at boot, add Docker to the default runlevel:"
1918 - elog " rc-update add docker default"
1919 - elog "Similarly for systemd:"
1920 - elog " systemctl enable docker.service"
1921 - elog
1922 - elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
1923 - elog " usermod -aG docker youruser"
1924 - elog
1925 -}
1926
1927 diff --git a/app-emulation/docker/docker-1.9.0.ebuild b/app-emulation/docker/docker-1.9.0.ebuild
1928 deleted file mode 100644
1929 index 0be9404..0000000
1930 --- a/app-emulation/docker/docker-1.9.0.ebuild
1931 +++ /dev/null
1932 @@ -1,268 +0,0 @@
1933 -# Copyright 1999-2015 Gentoo Foundation
1934 -# Distributed under the terms of the GNU General Public License v2
1935 -# $Id$
1936 -
1937 -EAPI=5
1938 -
1939 -EGO_PN="github.com/docker/docker"
1940 -
1941 -if [[ ${PV} = *9999* ]]; then
1942 - # Docker cannot be fetched via "go get", thanks to autogenerated code
1943 - EGIT_REPO_URI="https://${EGO_PN}.git"
1944 - EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
1945 - inherit git-r3
1946 -else
1947 - MY_PV="${PV/_/-}"
1948 - DOCKER_GITCOMMIT="76d6bc9"
1949 - EGIT_COMMIT="v${MY_PV}"
1950 - SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
1951 - KEYWORDS="~amd64"
1952 - [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
1953 - inherit golang-vcs-snapshot
1954 -fi
1955 -inherit bash-completion-r1 linux-info multilib systemd udev user
1956 -
1957 -DESCRIPTION="Docker complements kernel namespacing with a high-level API which operates at the process level"
1958 -HOMEPAGE="https://dockerproject.org"
1959 -LICENSE="Apache-2.0"
1960 -SLOT="0"
1961 -IUSE="apparmor aufs btrfs +device-mapper experimental lxc overlay"
1962 -
1963 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies
1964 -CDEPEND="
1965 - >=dev-db/sqlite-3.7.9:3
1966 - device-mapper? (
1967 - >=sys-fs/lvm2-2.02.89[thin]
1968 - )
1969 -"
1970 -
1971 -DEPEND="
1972 - ${CDEPEND}
1973 -
1974 - dev-go/go-md2man
1975 -
1976 - btrfs? (
1977 - >=sys-fs/btrfs-progs-3.8
1978 - )
1979 -"
1980 -
1981 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies
1982 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies
1983 -RDEPEND="
1984 - ${CDEPEND}
1985 -
1986 - !app-emulation/docker-bin
1987 - >=net-firewall/iptables-1.4
1988 - sys-process/procps
1989 - >=dev-vcs/git-1.7
1990 - >=app-arch/xz-utils-4.9
1991 -
1992 - lxc? (
1993 - >=app-emulation/lxc-1.0.7
1994 - )
1995 -
1996 - apparmor? (
1997 - sys-libs/libapparmor[static-libs]
1998 - )
1999 -"
2000 -
2001 -RESTRICT="installsources strip"
2002 -
2003 -# see "contrib/check-config.sh" from upstream's sources
2004 -CONFIG_CHECK="
2005 - ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
2006 - ~DEVPTS_MULTIPLE_INSTANCES
2007 - ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
2008 - ~MACVLAN ~VETH ~BRIDGE ~BRIDGE_NETFILTER
2009 - ~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
2010 - ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK
2011 - ~NF_NAT ~NF_NAT_NEEDED
2012 -
2013 - ~POSIX_MQUEUE
2014 -
2015 - ~MEMCG_KMEM ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
2016 -
2017 - ~BLK_CGROUP ~IOSCHED_CFQ
2018 - ~CGROUP_PERF
2019 - ~CGROUP_HUGETLB
2020 - ~NET_CLS_CGROUP
2021 - ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
2022 -"
2023 -
2024 -ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
2025 -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
2026 -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
2027 -
2028 -ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
2029 -ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
2030 -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
2031 -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
2032 -
2033 -pkg_setup() {
2034 - if kernel_is lt 3 10; then
2035 - ewarn ""
2036 - ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
2037 - ewarn " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies"
2038 - fi
2039 -
2040 - # for where these kernel versions come from, see:
2041 - # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
2042 - if ! {
2043 - kernel_is ge 3 16 \
2044 - || { kernel_is 3 15 && kernel_is ge 3 15 5; } \
2045 - || { kernel_is 3 14 && kernel_is ge 3 14 12; } \
2046 - || { kernel_is 3 12 && kernel_is ge 3 12 25; }
2047 - }; then
2048 - ewarn ""
2049 - ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
2050 - ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
2051 - ewarn ""
2052 - ewarn "See also https://github.com/docker/docker/issues/2960"
2053 - fi
2054 -
2055 - if kernel_is le 3 18; then
2056 - CONFIG_CHECK+="
2057 - ~RESOURCE_COUNTERS
2058 - "
2059 - fi
2060 -
2061 - if kernel_is le 3 13; then
2062 - CONFIG_CHECK+="
2063 - ~NETPRIO_CGROUP
2064 - "
2065 - else
2066 - CONFIG_CHECK+="
2067 - ~CGROUP_NET_PRIO
2068 - "
2069 - fi
2070 -
2071 - if use aufs; then
2072 - CONFIG_CHECK+="
2073 - ~AUFS_FS
2074 - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
2075 - "
2076 - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
2077 - fi
2078 -
2079 - if use btrfs; then
2080 - CONFIG_CHECK+="
2081 - ~BTRFS_FS
2082 - "
2083 - fi
2084 -
2085 - if use device-mapper; then
2086 - CONFIG_CHECK+="
2087 - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
2088 - "
2089 - fi
2090 -
2091 - if use overlay; then
2092 - CONFIG_CHECK+="
2093 - ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
2094 - "
2095 - fi
2096 -
2097 - linux-info_pkg_setup
2098 -
2099 - # create docker group for the code checking for it in /etc/group
2100 - enewgroup docker
2101 -}
2102 -
2103 -src_prepare() {
2104 - cd "src/${EGO_PN}" || die
2105 - # allow user patches (use sparingly - upstream won't support them)
2106 - epatch_user
2107 -}
2108 -
2109 -src_compile() {
2110 - cd "src/${EGO_PN}" || die
2111 - export GOPATH="${WORKDIR}/${P}:${PWD}/vendor:$(get_golibdir_gopath)"
2112 -
2113 - # setup CFLAGS and LDFLAGS for separate build target
2114 - # see https://github.com/tianon/docker-overlay/pull/10
2115 - export CGO_CFLAGS="-I${ROOT}/usr/include"
2116 - export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
2117 -
2118 - # if we're building from a zip, we need the GITCOMMIT value
2119 - [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
2120 -
2121 - if gcc-specs-pie; then
2122 - sed -i "s/EXTLDFLAGS_STATIC='/EXTLDFLAGS_STATIC='-fno-PIC /" hack/make.sh || die
2123 - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
2124 -
2125 - sed -i "s/LDFLAGS_STATIC_DOCKER='/LDFLAGS_STATIC_DOCKER='-extldflags -fno-PIC /" hack/make/dynbinary || die
2126 - grep -q -- '-fno-PIC' hack/make/dynbinary || die 'hardened sed failed'
2127 - fi
2128 -
2129 - # let's set up some optional features :)
2130 - export DOCKER_BUILDTAGS=''
2131 - for gd in aufs btrfs device-mapper overlay; do
2132 - if ! use $gd; then
2133 - DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
2134 - fi
2135 - done
2136 -
2137 - if use apparmor; then
2138 - DOCKER_BUILDTAGS+=' apparmor'
2139 - fi
2140 -
2141 - # https://github.com/docker/docker/pull/13338
2142 - if use experimental; then
2143 - export DOCKER_EXPERIMENTAL=1
2144 - else
2145 - unset DOCKER_EXPERIMENTAL
2146 - fi
2147 -
2148 - # time to build!
2149 - ./hack/make.sh dynbinary || die 'dynbinary failed'
2150 -
2151 - # build the man pages too
2152 - ./man/md2man-all.sh || die "unable to generate man pages"
2153 -}
2154 -
2155 -src_install() {
2156 - cd "src/${EGO_PN}" || die
2157 - VERSION="$(cat VERSION)"
2158 - newbin "bundles/$VERSION/dynbinary/docker-$VERSION" docker
2159 - exeinto /usr/libexec/docker
2160 - newexe "bundles/$VERSION/dynbinary/dockerinit-$VERSION" dockerinit
2161 -
2162 - newinitd contrib/init/openrc/docker.initd docker
2163 - newconfd contrib/init/openrc/docker.confd docker
2164 -
2165 - systemd_dounit contrib/init/systemd/docker.{service,socket}
2166 -
2167 - udev_dorules contrib/udev/*.rules
2168 -
2169 - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
2170 - dodoc -r docs/*
2171 - doman man/man*/*
2172 -
2173 - dobashcomp contrib/completion/bash/*
2174 -
2175 - insinto /usr/share/zsh/site-functions
2176 - doins contrib/completion/zsh/*
2177 -
2178 - insinto /usr/share/vim/vimfiles
2179 - doins -r contrib/syntax/vim/ftdetect
2180 - doins -r contrib/syntax/vim/syntax
2181 -
2182 - # note: intentionally not using "doins" so that we preserve +x bits
2183 - mkdir -p "${D}/usr/share/${PN}/contrib"
2184 - cp -R contrib/* "${D}/usr/share/${PN}/contrib"
2185 -}
2186 -
2187 -pkg_postinst() {
2188 - udev_reload
2189 -
2190 - elog
2191 - elog "To use Docker, the Docker daemon must be running as root. To automatically"
2192 - elog "start the Docker daemon at boot, add Docker to the default runlevel:"
2193 - elog " rc-update add docker default"
2194 - elog "Similarly for systemd:"
2195 - elog " systemctl enable docker.service"
2196 - elog
2197 - elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
2198 - elog " usermod -aG docker youruser"
2199 - elog
2200 -}
2201
2202 diff --git a/app-emulation/docker/docker-1.9.1.ebuild b/app-emulation/docker/docker-1.9.1.ebuild
2203 deleted file mode 100644
2204 index f490eac..0000000
2205 --- a/app-emulation/docker/docker-1.9.1.ebuild
2206 +++ /dev/null
2207 @@ -1,265 +0,0 @@
2208 -# Copyright 1999-2015 Gentoo Foundation
2209 -# Distributed under the terms of the GNU General Public License v2
2210 -# $Id$
2211 -
2212 -EAPI=5
2213 -
2214 -EGO_PN="github.com/docker/docker"
2215 -
2216 -if [[ ${PV} = *9999* ]]; then
2217 - # Docker cannot be fetched via "go get", thanks to autogenerated code
2218 - EGIT_REPO_URI="https://${EGO_PN}.git"
2219 - EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
2220 - inherit git-r3
2221 -else
2222 - MY_PV="${PV/_/-}"
2223 - DOCKER_GITCOMMIT="a34a1d5"
2224 - EGIT_COMMIT="v${MY_PV}"
2225 - SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
2226 - KEYWORDS="~amd64"
2227 - [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
2228 - inherit golang-vcs-snapshot
2229 -fi
2230 -inherit bash-completion-r1 linux-info multilib systemd udev user
2231 -
2232 -DESCRIPTION="Docker complements kernel namespacing with a high-level API which operates at the process level"
2233 -HOMEPAGE="https://dockerproject.org"
2234 -LICENSE="Apache-2.0"
2235 -SLOT="0"
2236 -IUSE="apparmor aufs btrfs +device-mapper experimental overlay"
2237 -
2238 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies
2239 -CDEPEND="
2240 - >=dev-db/sqlite-3.7.9:3
2241 - device-mapper? (
2242 - >=sys-fs/lvm2-2.02.89[thin]
2243 - )
2244 -"
2245 -
2246 -DEPEND="
2247 - ${CDEPEND}
2248 -
2249 - dev-go/go-md2man
2250 -
2251 - btrfs? (
2252 - >=sys-fs/btrfs-progs-3.8
2253 - )
2254 -"
2255 -
2256 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies
2257 -# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies
2258 -RDEPEND="
2259 - ${CDEPEND}
2260 -
2261 - !app-emulation/docker-bin
2262 - >=net-firewall/iptables-1.4
2263 - sys-process/procps
2264 - >=dev-vcs/git-1.7
2265 - >=app-arch/xz-utils-4.9
2266 -
2267 - apparmor? (
2268 - sys-libs/libapparmor[static-libs]
2269 - )
2270 -"
2271 -
2272 -RESTRICT="installsources strip"
2273 -
2274 -# see "contrib/check-config.sh" from upstream's sources
2275 -CONFIG_CHECK="
2276 - ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
2277 - ~DEVPTS_MULTIPLE_INSTANCES
2278 - ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
2279 - ~MACVLAN ~VETH ~BRIDGE ~BRIDGE_NETFILTER
2280 - ~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
2281 - ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK
2282 - ~NF_NAT ~NF_NAT_NEEDED
2283 -
2284 - ~POSIX_MQUEUE
2285 -
2286 - ~MEMCG_KMEM ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
2287 -
2288 - ~BLK_CGROUP ~IOSCHED_CFQ
2289 - ~CGROUP_PERF
2290 - ~CGROUP_HUGETLB
2291 - ~NET_CLS_CGROUP
2292 - ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
2293 -"
2294 -
2295 -ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
2296 -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
2297 -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
2298 -
2299 -ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
2300 -ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
2301 -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
2302 -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
2303 -
2304 -pkg_setup() {
2305 - if kernel_is lt 3 10; then
2306 - ewarn ""
2307 - ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
2308 - ewarn " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies"
2309 - fi
2310 -
2311 - # for where these kernel versions come from, see:
2312 - # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
2313 - if ! {
2314 - kernel_is ge 3 16 \
2315 - || { kernel_is 3 15 && kernel_is ge 3 15 5; } \
2316 - || { kernel_is 3 14 && kernel_is ge 3 14 12; } \
2317 - || { kernel_is 3 12 && kernel_is ge 3 12 25; }
2318 - }; then
2319 - ewarn ""
2320 - ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
2321 - ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
2322 - ewarn ""
2323 - ewarn "See also https://github.com/docker/docker/issues/2960"
2324 - fi
2325 -
2326 - if kernel_is le 3 18; then
2327 - CONFIG_CHECK+="
2328 - ~RESOURCE_COUNTERS
2329 - "
2330 - fi
2331 -
2332 - if kernel_is le 3 13; then
2333 - CONFIG_CHECK+="
2334 - ~NETPRIO_CGROUP
2335 - "
2336 - else
2337 - CONFIG_CHECK+="
2338 - ~CGROUP_NET_PRIO
2339 - "
2340 - fi
2341 -
2342 - if use aufs; then
2343 - CONFIG_CHECK+="
2344 - ~AUFS_FS
2345 - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
2346 - "
2347 - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
2348 - fi
2349 -
2350 - if use btrfs; then
2351 - CONFIG_CHECK+="
2352 - ~BTRFS_FS
2353 - "
2354 - fi
2355 -
2356 - if use device-mapper; then
2357 - CONFIG_CHECK+="
2358 - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
2359 - "
2360 - fi
2361 -
2362 - if use overlay; then
2363 - CONFIG_CHECK+="
2364 - ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
2365 - "
2366 - fi
2367 -
2368 - linux-info_pkg_setup
2369 -
2370 - # create docker group for the code checking for it in /etc/group
2371 - enewgroup docker
2372 -}
2373 -
2374 -src_prepare() {
2375 - cd "src/${EGO_PN}" || die
2376 - epatch "${FILESDIR}"/18074-disable-journald-arm.patch
2377 - # allow user patches (use sparingly - upstream won't support them)
2378 - epatch_user
2379 -}
2380 -
2381 -src_compile() {
2382 - cd "src/${EGO_PN}" || die
2383 - export GOPATH="${WORKDIR}/${P}:${PWD}/vendor:$(get_golibdir_gopath)"
2384 -
2385 - # setup CFLAGS and LDFLAGS for separate build target
2386 - # see https://github.com/tianon/docker-overlay/pull/10
2387 - export CGO_CFLAGS="-I${ROOT}/usr/include"
2388 - export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
2389 -
2390 - # if we're building from a zip, we need the GITCOMMIT value
2391 - [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
2392 -
2393 - if gcc-specs-pie; then
2394 - sed -i "s/EXTLDFLAGS_STATIC='/EXTLDFLAGS_STATIC='-fno-PIC /" hack/make.sh || die
2395 - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
2396 -
2397 - sed -i "s/LDFLAGS_STATIC_DOCKER='/LDFLAGS_STATIC_DOCKER='-extldflags -fno-PIC /" hack/make/dynbinary || die
2398 - grep -q -- '-fno-PIC' hack/make/dynbinary || die 'hardened sed failed'
2399 - fi
2400 -
2401 - # let's set up some optional features :)
2402 - export DOCKER_BUILDTAGS=''
2403 - for gd in aufs btrfs device-mapper overlay; do
2404 - if ! use $gd; then
2405 - DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
2406 - fi
2407 - done
2408 -
2409 - if use apparmor; then
2410 - DOCKER_BUILDTAGS+=' apparmor'
2411 - fi
2412 -
2413 - # https://github.com/docker/docker/pull/13338
2414 - if use experimental; then
2415 - export DOCKER_EXPERIMENTAL=1
2416 - else
2417 - unset DOCKER_EXPERIMENTAL
2418 - fi
2419 -
2420 - # time to build!
2421 - ./hack/make.sh dynbinary || die 'dynbinary failed'
2422 -
2423 - # build the man pages too
2424 - ./man/md2man-all.sh || die "unable to generate man pages"
2425 -}
2426 -
2427 -src_install() {
2428 - cd "src/${EGO_PN}" || die
2429 - VERSION="$(cat VERSION)"
2430 - newbin "bundles/$VERSION/dynbinary/docker-$VERSION" docker
2431 - exeinto /usr/libexec/docker
2432 - newexe "bundles/$VERSION/dynbinary/dockerinit-$VERSION" dockerinit
2433 -
2434 - newinitd contrib/init/openrc/docker.initd docker
2435 - newconfd contrib/init/openrc/docker.confd docker
2436 -
2437 - systemd_dounit contrib/init/systemd/docker.{service,socket}
2438 -
2439 - udev_dorules contrib/udev/*.rules
2440 -
2441 - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
2442 - dodoc -r docs/*
2443 - doman man/man*/*
2444 -
2445 - dobashcomp contrib/completion/bash/*
2446 -
2447 - insinto /usr/share/zsh/site-functions
2448 - doins contrib/completion/zsh/*
2449 -
2450 - insinto /usr/share/vim/vimfiles
2451 - doins -r contrib/syntax/vim/ftdetect
2452 - doins -r contrib/syntax/vim/syntax
2453 -
2454 - # note: intentionally not using "doins" so that we preserve +x bits
2455 - mkdir -p "${D}/usr/share/${PN}/contrib"
2456 - cp -R contrib/* "${D}/usr/share/${PN}/contrib"
2457 -}
2458 -
2459 -pkg_postinst() {
2460 - udev_reload
2461 -
2462 - elog
2463 - elog "To use Docker, the Docker daemon must be running as root. To automatically"
2464 - elog "start the Docker daemon at boot, add Docker to the default runlevel:"
2465 - elog " rc-update add docker default"
2466 - elog "Similarly for systemd:"
2467 - elog " systemctl enable docker.service"
2468 - elog
2469 - elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
2470 - elog " usermod -aG docker youruser"
2471 - elog
2472 -}