Gentoo Archives: gentoo-commits

From: "Alex Brandt (alunduil)" <alunduil@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-emulation/docker: docker-1.6.2.ebuild ChangeLog
Date: Sat, 04 Jul 2015 23:14:58
Message-Id: 20150704231450.650CB752@oystercatcher.gentoo.org
1 alunduil 15/07/04 23:14:50
2
3 Modified: ChangeLog
4 Added: docker-1.6.2.ebuild
5 Log:
6 add version 1.6.2
7
8 fixes bug #553706
9
10 (Portage version: 2.2.20/cvs/Linux x86_64, signed Manifest commit with key 11A8217C!)
11
12 Revision Changes Path
13 1.51 app-emulation/docker/ChangeLog
14
15 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/docker/ChangeLog?rev=1.51&view=markup
16 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/docker/ChangeLog?rev=1.51&content-type=text/plain
17 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/docker/ChangeLog?r1=1.50&r2=1.51
18
19 Index: ChangeLog
20 ===================================================================
21 RCS file: /var/cvsroot/gentoo-x86/app-emulation/docker/ChangeLog,v
22 retrieving revision 1.50
23 retrieving revision 1.51
24 diff -u -r1.50 -r1.51
25 --- ChangeLog 4 Jul 2015 23:10:51 -0000 1.50
26 +++ ChangeLog 4 Jul 2015 23:14:50 -0000 1.51
27 @@ -1,6 +1,14 @@
28 # ChangeLog for app-emulation/docker
29 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
30 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/docker/ChangeLog,v 1.50 2015/07/04 23:10:51 alunduil Exp $
31 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/docker/ChangeLog,v 1.51 2015/07/04 23:14:50 alunduil Exp $
32 +
33 +*docker-1.6.2 (04 Jul 2015)
34 +
35 + 04 Jul 2015; Alex Brandt <alunduil@g.o> +docker-1.6.2.ebuild,
36 + +files/7179-add-audit_write-cap.patch, +files/docker-r3.confd,
37 + +files/docker-r3.initd, +files/docker.initd, files/docker-r2.confd,
38 + files/docker-r2.initd, files/docker.service:
39 + add version 1.6.2 fixes bug #553706
40
41 04 Jul 2015; Alex Brandt <alunduil@g.o> metadata.xml:
42 add alunduil to maintainers
43
44
45
46 1.1 app-emulation/docker/docker-1.6.2.ebuild
47
48 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/docker/docker-1.6.2.ebuild?rev=1.1&view=markup
49 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/docker/docker-1.6.2.ebuild?rev=1.1&content-type=text/plain
50
51 Index: docker-1.6.2.ebuild
52 ===================================================================
53 # Copyright 1999-2015 Gentoo Foundation
54 # Distributed under the terms of the GNU General Public License v2
55 # $Header: /var/cvsroot/gentoo-x86/app-emulation/docker/docker-1.6.2.ebuild,v 1.1 2015/07/04 23:14:50 alunduil Exp $
56
57 EAPI=5
58
59 DESCRIPTION="Docker complements kernel namespacing with a high-level API which operates at the process level"
60 HOMEPAGE="https://www.docker.com"
61
62 GITHUB_URI="github.com/docker/docker"
63
64 if [[ ${PV} == *9999 ]]; then
65 SRC_URI=""
66 EGIT_REPO_URI="git://${GITHUB_URI}.git"
67 inherit git-2
68 else
69 MY_PV="${PV/_/-}"
70 MY_P="${PN}-${MY_PV}"
71 SRC_URI="https://${GITHUB_URI}/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
72 S="${WORKDIR}/${MY_P}"
73 DOCKER_GITCOMMIT="7c8fca2"
74 KEYWORDS="~amd64"
75 [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
76 fi
77
78 inherit bash-completion-r1 linux-info multilib systemd udev user
79
80 LICENSE="Apache-2.0"
81 SLOT="0"
82 IUSE="aufs btrfs +contrib +device-mapper doc lxc overlay vim-syntax zsh-completion"
83
84 # https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies
85 CDEPEND="
86 >=dev-db/sqlite-3.7.9:3
87 device-mapper? (
88 >=sys-fs/lvm2-2.02.89[thin]
89 )
90 "
91
92 DEPEND="
93 ${CDEPEND}
94 >=dev-lang/go-1.3
95 btrfs? (
96 >=sys-fs/btrfs-progs-3.16.1
97 )
98 "
99
100 # https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies
101 # https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies
102 RDEPEND="
103 ${CDEPEND}
104
105 !app-emulation/docker-bin
106 >=net-firewall/iptables-1.4
107 sys-process/procps
108 >=dev-vcs/git-1.7
109 >=app-arch/xz-utils-4.9
110
111 lxc? (
112 >=app-emulation/lxc-1.0.7
113 )
114 aufs? (
115 || (
116 sys-fs/aufs3
117 sys-fs/aufs4
118 sys-kernel/aufs-sources
119 )
120 )
121 "
122
123 RESTRICT="installsources strip"
124
125 # see "contrib/check-config.sh" from upstream's sources
126 CONFIG_CHECK="
127 NAMESPACES NET_NS PID_NS IPC_NS UTS_NS
128 DEVPTS_MULTIPLE_INSTANCES
129 CGROUPS CGROUP_CPUACCT CGROUP_DEVICE CGROUP_FREEZER CGROUP_SCHED CPUSETS
130 MACVLAN VETH BRIDGE
131 NF_NAT_IPV4 IP_NF_FILTER IP_NF_TARGET_MASQUERADE
132 NETFILTER_XT_MATCH_ADDRTYPE NETFILTER_XT_MATCH_CONNTRACK
133 NF_NAT NF_NAT_NEEDED
134
135 POSIX_MQUEUE
136
137 ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
138 ~RESOURCE_COUNTERS
139 ~CGROUP_PERF
140 ~CFS_BANDWIDTH
141 "
142
143 ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
144 ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
145 ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
146 ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
147
148 pkg_setup() {
149 if kernel_is lt 3 10; then
150 eerror ""
151 eerror "Using Docker with kernels older than 3.10 is unstable and unsupported."
152 eerror " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies"
153 die 'Kernel is too old - need 3.10 or above'
154 fi
155
156 # for where these kernel versions come from, see:
157 # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
158 if ! {
159 kernel_is ge 3 16 \
160 || { kernel_is 3 15 && kernel_is ge 3 15 5; } \
161 || { kernel_is 3 14 && kernel_is ge 3 14 12; } \
162 || { kernel_is 3 12 && kernel_is ge 3 12 25; }
163 }; then
164 ewarn ""
165 ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
166 ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
167 ewarn ""
168 ewarn "See also https://github.com/docker/docker/issues/2960"
169 fi
170
171 if use aufs; then
172 CONFIG_CHECK+="
173 ~AUFS_FS
174 ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
175 "
176 # TODO there must be a way to detect "sys-kernel/aufs-sources" so we don't warn "sys-fs/aufs3" users about this
177 # 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
178 ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used"
179 fi
180
181 if use btrfs; then
182 CONFIG_CHECK+="
183 ~BTRFS_FS
184 "
185 fi
186
187 if use device-mapper; then
188 CONFIG_CHECK+="
189 ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
190 "
191 fi
192
193 if use overlay; then
194 CONFIG_CHECK+="
195 ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
196 "
197 fi
198
199 linux-info_pkg_setup
200 }
201
202 src_prepare() {
203 # allow user patches (use sparingly - upstream won't support them)
204 epatch_user
205 }
206
207 src_compile() {
208 # if we treat them right, Docker's build scripts will set up a
209 # reasonable GOPATH for us
210 export AUTO_GOPATH=1
211
212 # setup CFLAGS and LDFLAGS for separate build target
213 # see https://github.com/tianon/docker-overlay/pull/10
214 export CGO_CFLAGS="-I${ROOT}/usr/include"
215 export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
216
217 # if we're building from a zip, we need the GITCOMMIT value
218 [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
219
220 if gcc-specs-pie; then
221 sed -i "s/EXTLDFLAGS_STATIC='/EXTLDFLAGS_STATIC='-fno-PIC /" hack/make.sh || die
222 grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
223
224 sed -i "s/LDFLAGS_STATIC_DOCKER='/LDFLAGS_STATIC_DOCKER='-extldflags -fno-PIC /" hack/make/dynbinary || die
225 grep -q -- '-fno-PIC' hack/make/dynbinary || die 'hardened sed failed'
226 fi
227
228 # let's set up some optional features :)
229 export DOCKER_BUILDTAGS=''
230 for gd in aufs btrfs device-mapper overlay; do
231 if ! use $gd; then
232 DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
233 fi
234 done
235
236 # time to build!
237 ./hack/make.sh dynbinary || die 'dynbinary failed'
238
239 # TODO get go-md2man and then include the man pages using docs/man/md2man-all.sh
240 }
241
242 src_install() {
243 VERSION=$(cat VERSION)
244 newbin bundles/$VERSION/dynbinary/docker-$VERSION docker
245 exeinto /usr/libexec/docker
246 newexe bundles/$VERSION/dynbinary/dockerinit-$VERSION dockerinit
247
248 newinitd contrib/init/openrc/docker.initd docker
249 newconfd contrib/init/openrc/docker.confd docker
250
251 systemd_dounit contrib/init/systemd/docker.{service,socket}
252
253 udev_dorules contrib/udev/*.rules
254
255 dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
256 if use doc; then
257 # TODO doman contrib/man/man*/*
258
259 docompress -x /usr/share/doc/${PF}/md
260 docinto md
261 dodoc -r docs/sources/*
262 fi
263
264 dobashcomp contrib/completion/bash/*
265
266 if use zsh-completion; then
267 insinto /usr/share/zsh/site-functions
268 doins contrib/completion/zsh/*
269 fi
270
271 if use vim-syntax; then
272 insinto /usr/share/vim/vimfiles
273 doins -r contrib/syntax/vim/ftdetect
274 doins -r contrib/syntax/vim/syntax
275 fi
276
277 if use contrib; then
278 mkdir -p "${D}/usr/share/${PN}/contrib"
279 cp -R contrib/* "${D}/usr/share/${PN}/contrib"
280 fi
281 }
282
283 pkg_postinst() {
284 udev_reload
285
286 elog ""
287 elog "To use Docker, the Docker daemon must be running as root. To automatically"
288 elog "start the Docker daemon at boot, add Docker to the default runlevel:"
289 elog " rc-update add docker default"
290 elog "Similarly for systemd:"
291 elog " systemctl enable docker.service"
292 elog ""
293
294 # create docker group if the code checking for it in /etc/group exists
295 enewgroup docker
296
297 elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
298 elog " usermod -aG docker youruser"
299 elog ""
300 }