add version 1.3.3-r1
authorAlex Brandt <alunduil@gentoo.org>
Tue, 16 Dec 2014 00:40:01 +0000 (00:40 +0000)
committerAlex Brandt <alunduil@gentoo.org>
Tue, 16 Dec 2014 00:40:01 +0000 (00:40 +0000)
There is a flaw [1] in docker-1.4.0 when dealing with bind mount volumes that
some users may wish to avoid.  I'm adding docker-1.3.3-r1 from tianon's docker
overlay to alleviate the situation.

[1]: https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fdocker%2Fdocker%2Fpull%2F9679&sa=D&sntz=1&usg=AFQjCNG7SYLrKwM0Qqc5rbY76c2JcWHQHQ

Package-Manager: portage-2.2.15/cvs/Linux x86_64
Manifest-Sign-Key: 0x11A8217C!

app-emulation/docker/ChangeLog
app-emulation/docker/Manifest
app-emulation/docker/docker-1.3.3-r1.ebuild [new file with mode: 0644]

index 1b964fe4d19761ac1d325d95377464474ec847b4..d923109436ce2e310d9c243adcd80a2f2b214286 100644 (file)
@@ -1,6 +1,15 @@
 # ChangeLog for app-emulation/docker
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/docker/ChangeLog,v 1.34 2014/12/12 18:53:23 xarthisius Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/docker/ChangeLog,v 1.35 2014/12/16 00:39:53 alunduil Exp $
+
+*docker-1.3.3-r1 (16 Dec 2014)
+
+  16 Dec 2014; Alex Brandt <alunduil@gentoo.org> +docker-1.3.3-r1.ebuild:
+  add version 1.3.3-r1 from tianon's docker overlay
+
+  Version 1.4.0 of docker has a nasty bug when using volumes that are bind
+  mounts.  Thus, I've added 1.3.3-r1 until 1.4.1 is released and fixes this
+  issue, or longer that's OK too.
 
 *docker-1.4.0 (12 Dec 2014)
 
index 75ca25a0416407ef6b87bc63f160c7146970690c..a4b5a491160fc8402c79319c76530fa308789e34 100644 (file)
@@ -4,24 +4,26 @@ Hash: SHA256
 AUX docker-r2.confd 581 SHA256 94e1c07b09701f3b0b1c4f6f917206da3b32f8d7e961c3850c4391ebd59df0b4 SHA512 5838270ff9ce7b9a562b2449ba5f4ad72db956dd03f6a1b006c8019ff43fea1c4ae1e2a4818fb092b6096cff6bd9ce539b05b7940412c55b3bb3e30c356da944 WHIRLPOOL a8e3759b6c86855afa7e784d50a7926fc888d50ec03dc2d9dcd70c3f2dd11caf6670196d91f383cab1d603f32a968bed4b3a0668ec1a38d41dc1142ec92235cc
 AUX docker-r2.initd 1767 SHA256 0cb83137cf3d37aadf450dd30ec9e0ceca3d865867f7fe64a43a1d5f42d2ecf8 SHA512 1250f8b16ded27877cf2759fca1d69f37ce308d4d5e5a29438210e847894617fa088260b0cfd87e1ee65ed26a4293d98c79462c1ccc93aac14203fbfed4b69a2 WHIRLPOOL 272f04feb587a0f91079f41ad90868f99c28a21a5ec35876f38dbbd342a53796dd4ec822fa2cd3506f22485b6a0147d24da2e7ab89da7875f84e3e9fab50c3c8
 AUX docker.service 249 SHA256 ddf23c8bd07303a87f7e76881b14c023c54835feba575998d6f5a9a7ec8a0a0a SHA512 d7564489486b3547cb79057fa44cb3eb0aa6c50ec47eca12579748170d62ab435395d173fdf39fcec8e86f4778db7413b7fa0ab85dbbd2fc1636164d4aad8b37 WHIRLPOOL 553f8a93a5d7cb6cc037a2004e19efa06520eba363e12574a5d251d10b23d9f24d1a023eb9915968a9bb661bddb577163948fb180a85ca9c916cac5c6680b1df
+DIST docker-1.3.3.tar.gz 5886211 SHA256 9c054e438eee94e7028e860fcb2356a0983e98522223089902d0c61f505dbbcb SHA512 d0f928c1edfcd6d3e11893c2c41da430041fcbe53217e1abc978b379e5464c41204de97da9d5e3e06c1337f4e5b79e1ae98f734d62d64962b3f8b6c37c9bdb85 WHIRLPOOL 2fd4ae184d04f21c62a7e7157f81fe9484ce05cc019c184acc9bcc23db7ba2a866930c6bdcb69f2981a0c394e61e6c996a847bcd8102657a82806fdec2aed29d
 DIST docker-1.4.0.tar.gz 6053302 SHA256 3fe1c317a1685de896690986a1e0d175ff0baaa9b893bf7d58737df632e19967 SHA512 7eeaae011d0439aca8af9f6db6541f6a50250de600cbc9c080d9506c57179438a7b8cce5495ccf16a59ce7e1fcde174e00d458b494b94fc2d3bcb086d3805aa5 WHIRLPOOL ab340cc34687dd11f5be4b5eac6c4cc4d8b910bb0dfce13bc3aef138c0954db7de6f310ea33c0eb5d0dae8251dd37b4612ad8219ba9ded05971e23fa8f19b45c
+EBUILD docker-1.3.3-r1.ebuild 6622 SHA256 7492e6644263dd180c5cead23b0a490bb6120fd309497c3c23c3d1288e97b9b0 SHA512 64a91ede0108b96fa464ac1b52bdc4824c3bdb2d9ce04562567fee6a5c928d2e70f1b2bc4ee3955d93c8071dc012965dda190cf69c497fb3474eb22ebe7d8c6e WHIRLPOOL dd0eac9bd9fe6e46094f0688605f701e1d242bf21ae2fc957d1d852fb111d2d1e0a6518f488479dfc717ae9d279b7c5775967e2771b05bf147b46f0dbb6215b7
 EBUILD docker-1.4.0.ebuild 6603 SHA256 13b37a1327e93a694b50ddc209edbc818bda86a2c65ad51d072e12e523822a1a SHA512 f7ba30458f86042878568917aedd201a8c6d422d7b2a724b3d62065ff022c77a51b7e7928ef3c097f8db95b43eeca38e2e749221b2bfaefb6508c5912c4cf3e7 WHIRLPOOL 2887ec3570c347f5b90010aac072090fdddac33a7ee10d9b3438029267c7621377262983b80d9fb5244be49474bbccfabf893171ae5a4a9dad88808e09e559e4
-MISC ChangeLog 5344 SHA256 fc37fe350c042c34aad03ebd013bd693d8bf7504471ed1c2569e8f3dc066857b SHA512 19a7fb2e124f7d7f47397bf3a384b85fef8a155a5b7ecc94728bfd2cad41c553acf0fa929892a3f2a39aa740065d15c5c13df81b88a9545b6f5ddc7a18b9785a WHIRLPOOL f73f7b68e11fda145bf16a0743c0aafbec99ae73fb5bca4928805e9b8ab65b3bfcdf87a4bd79a13651f7a7fbdadeb35d7726d921b3694007300420edb861483d
+MISC ChangeLog 5687 SHA256 5f3119dc45d3f029acf5fb60d7a11a60dc5e8d137d2cf91fc0bf97ddb49da5e9 SHA512 444dd84236ae5d548822c4867d86885b267c3053331276857835b12023363f57bbde9350b5ba45c2090e269aea7af3f64a87100b9709634de15945eccf5e1696 WHIRLPOOL f782426d656cbeb161265c1024263fa79a73cdacdfe0e66731a3fe66e2ee609c6bdec85c761d98ee249c60c726310a8dd9b984c9651407cda5e0e08e86521ce5
 MISC metadata.xml 1277 SHA256 e5d0394aa0f0ba5f133ccbbfe92c28111a5ad888d46a53ade9625ef0155c7d9b SHA512 f910edcabda2011dd1ca107848663c97a17fbb0f84391376abd5e26111662e8bb172c9d0b77a57b82fc5b35181a543a8f869823d0ae7b9d3deaaa75c18d03f10 WHIRLPOOL cbfeb224f2205c91fa288d18086dce87d61d25481f0c10e09a8b77e9950162d647fa8c3cd7793c2fad19c3c2a0be55fad29a9002eeacf02a6a10a48d68e846c5
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
-iQIcBAEBCAAGBQJUizmnAAoJEF0huFKJUZL54w0P/1wzb2Z8wFXZvpcyGl6d4DG3
-ph2yk7OAv+rF0Ik0/OaKvJKa0c2eX01/NJUlUtMxEKk+zXH+MFb6oAN1bLrfbQdf
-K5SXfRrlpqUwc/plckHX1OVXZgNY0uF1S6K2uQ3V0lnAVbNjTa59jsdWykMbI25a
-QgKXxVvTP1omFYpGeB+S0nfCfbmD6We4hWKGUA/QuhvshQAnRWTn4tX7nC7wF1dA
-l9yv7KR2cqt0tYcV23krchKnczbUDJzz44HPHfb2Loa0KxzuZ1t9gd6TOvmIPUzq
-nwG6Q6XeaVUv5mHKszkqRb0V67Sq5kmstI+IKf/LGP/WDvYU6BrkHFc6sj1VMvqN
-TVb0D4+xC26V4bQSquUh58vcYJj4hFoUPCgMlrnbfrk8eSkFTS3TOOGQIvWW97Bt
-jHAJ1LkR7GduT1VzFKu7PmDn1371EbeVPY5G/lAf2wduNnD5a0MximvUeEzw0yl6
-15OlOVI0vdZHbxGGLQOB+JqsO/zYdfN/qiQYl8BtIVvUnX4muaVLel7EDbMPa2AB
-6TGZzrKKEichgnEOSb2DecFFaDNswChLWC+F76r1bEQvW9HvFZBpCI93cWzqCPIH
-uVBOQvQD/yQvJb50yvVM7eEdrtxKMr30xvi7TUMDbiMEXsh+7u3VEHdASBq/bJYS
-Vm/OeCVr/oady+2qIkc6
-=QNyu
+iQIcBAEBCAAGBQJUj39bAAoJECZUyt4RqCF8MAEP/RY0i+8TWpy3eJT7EUyjCt3k
+TJn2CfMlSPJ/rsOMnIufFkZ5GR6pJPfqgJ/aXGXNKXmQ/iA7wtxaBWdxzaOrRyMm
+lrknq9hU1719bYM/532OVVkQabz7k74uaMND5rsRiYBWOLKov2Y2nktvRv/1BKid
+FPp75PdUnj3hggXjr1xLiv5jaaakoxmUfx2vsQUnnkccq+KBJCemYY4+JgKeFmzM
+yhkztcI8C3cWRU30cWanVfwenebYDXerw/iY5LUQvpyl//F9DLSaAt8jf0pPjZeD
+D3YfdOMNnAaVydmqnuzvd7WRKYkzpsfqaONgBuczyWt+7D7pQk999mNzjZgcdOqv
+VSTISHua0FWIeCt+DCwM1JGbEQnp4DF2ZY1wR5SJb1V2vT12MAMmKPbWkeP8xinb
+Y3BReUWxcXlTwz/agjZtSPLaz76wNxoL2UbTXyTm4mQ2ttf6FQ3KU71y6X+HL50U
+JkwwTHdisp53bwmz4aejXgUr1yueWpS9+URGJU1hUC83hf+dRik9kxNhqV6sVvJN
+kOiW1GphMPFlEIwQ+p0+twQF7lLmL5wyDmcsrXGpqxeJnnnNT3cI/SaeqiNPQMxu
+5/pdvLN670TQiAWG4Q8DC9BvvQzuYlB1rQDIn73bwCNAx0bGR+dmybWyVX7xGkKX
+CxMWGXPN3/1jgnzkIJ90
+=6GHO
 -----END PGP SIGNATURE-----
diff --git a/app-emulation/docker/docker-1.3.3-r1.ebuild b/app-emulation/docker/docker-1.3.3-r1.ebuild
new file mode 100644 (file)
index 0000000..e0da968
--- /dev/null
@@ -0,0 +1,234 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/docker/docker-1.3.3-r1.ebuild,v 1.1 2014/12/16 00:39:53 alunduil Exp $
+
+EAPI=5
+
+DESCRIPTION="Docker complements kernel namespacing with a high-level API which operates at the process level"
+HOMEPAGE="https://www.docker.com"
+
+GITHUB_URI="github.com/docker/docker"
+
+if [[ ${PV} == *9999 ]]; then
+       SRC_URI=""
+       EGIT_REPO_URI="git://${GITHUB_URI}.git"
+       inherit git-2
+else
+       SRC_URI="https://${GITHUB_URI}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+       DOCKER_GITCOMMIT="d344625"
+       KEYWORDS="~amd64"
+       [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
+fi
+
+inherit bash-completion-r1 linux-info multilib systemd udev user
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="aufs btrfs +contrib +device-mapper doc lxc vim-syntax zsh-completion"
+
+# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies
+CDEPEND="
+       >=dev-db/sqlite-3.7.9:3
+       device-mapper? (
+               >=sys-fs/lvm2-2.02.89[thin]
+       )
+"
+
+DEPEND="
+       ${CDEPEND}
+       >=dev-lang/go-1.3
+       <dev-lang/go-1.4
+       btrfs? (
+               >=sys-fs/btrfs-progs-3.16.1
+       )
+"
+
+# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies
+# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies
+RDEPEND="
+       ${CDEPEND}
+
+       !app-emulation/docker-bin
+       >=net-firewall/iptables-1.4
+       sys-process/procps
+       >=dev-vcs/git-1.7
+       >=app-arch/xz-utils-4.9
+
+       lxc? (
+               >=app-emulation/lxc-1.0
+       )
+       aufs? (
+               || (
+                       sys-fs/aufs3
+                       sys-kernel/aufs-sources
+               )
+       )
+"
+
+RESTRICT="installsources strip"
+
+# see "contrib/check-config.sh" from upstream's sources
+CONFIG_CHECK="
+       NAMESPACES NET_NS PID_NS IPC_NS UTS_NS
+       DEVPTS_MULTIPLE_INSTANCES
+       CGROUPS CGROUP_CPUACCT CGROUP_DEVICE CGROUP_FREEZER CGROUP_SCHED
+       MACVLAN VETH BRIDGE
+       NF_NAT_IPV4 IP_NF_FILTER IP_NF_TARGET_MASQUERADE
+       NETFILTER_XT_MATCH_ADDRTYPE NETFILTER_XT_MATCH_CONNTRACK
+       NF_NAT NF_NAT_NEEDED
+
+       ~MEMCG_SWAP
+       ~RESOURCE_COUNTERS
+       ~CGROUP_PERF
+"
+
+ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
+ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
+ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
+
+pkg_setup() {
+       if kernel_is lt 3 8; then
+               eerror ""
+               eerror "Using Docker with kernels older than 3.8 is unstable and unsupported."
+               eerror " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies"
+               die 'Kernel is too old - need 3.8 or above'
+       fi
+
+       # for where these kernel versions come from, see:
+       # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
+       if ! {
+               kernel_is ge 3 16 \
+               || { kernel_is 3 15 && kernel_is ge 3 15 5; } \
+               || { kernel_is 3 14 && kernel_is ge 3 14 12; } \
+               || { kernel_is 3 12 && kernel_is ge 3 12 25; }
+       }; then
+               ewarn ""
+               ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
+               ewarn "  (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
+               ewarn ""
+               ewarn "See also https://github.com/docker/docker/issues/2960"
+       fi
+
+       if use aufs; then
+               CONFIG_CHECK+="
+                       ~AUFS_FS
+               "
+               # TODO there must be a way to detect "sys-kernel/aufs-sources" so we don't warn "sys-fs/aufs3" users about this
+               # 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
+               ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used"
+       fi
+
+       if use btrfs; then
+               CONFIG_CHECK+="
+                       ~BTRFS_FS
+               "
+       fi
+
+       if use device-mapper; then
+               CONFIG_CHECK+="
+                       ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS
+               "
+       fi
+
+       linux-info_pkg_setup
+}
+
+src_prepare() {
+       # allow user patches (use sparingly - upstream won't support them)
+       epatch_user
+}
+
+src_compile() {
+       # if we treat them right, Docker's build scripts will set up a
+       # reasonable GOPATH for us
+       export AUTO_GOPATH=1
+
+       # setup CFLAGS and LDFLAGS for separate build target
+       # see https://github.com/tianon/docker-overlay/pull/10
+       export CGO_CFLAGS="-I${ROOT}/usr/include"
+       export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
+
+       # if we're building from a zip, we need the GITCOMMIT value
+       [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
+
+       if gcc-specs-pie; then
+               sed -i "s/EXTLDFLAGS_STATIC='/EXTLDFLAGS_STATIC='-fno-PIC /" hack/make.sh || die
+               grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
+
+               sed -i 's/LDFLAGS_STATIC_DOCKER="/LDFLAGS_STATIC_DOCKER="-extldflags -fno-PIC /' hack/make/dynbinary || die
+               grep -q -- '-fno-PIC' hack/make/dynbinary || die 'hardened sed failed'
+       fi
+
+       # let's set up some optional features :)
+       export DOCKER_BUILDTAGS=''
+       for gd in aufs btrfs device-mapper; do
+               if ! use $gd; then
+                       DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
+               fi
+       done
+
+       # time to build!
+       ./hack/make.sh dynbinary || die 'dynbinary failed'
+
+       # TODO get go-md2man and then include the man pages using docs/man/md2man-all.sh
+}
+
+src_install() {
+       VERSION=$(cat VERSION)
+       newbin bundles/$VERSION/dynbinary/docker-$VERSION docker
+       exeinto /usr/libexec/docker
+       newexe bundles/$VERSION/dynbinary/dockerinit-$VERSION dockerinit
+
+       newinitd contrib/init/openrc/docker.initd docker
+       newconfd contrib/init/openrc/docker.confd docker
+
+       systemd_dounit contrib/init/systemd/docker.{service,socket}
+
+       udev_dorules contrib/udev/*.rules
+
+       dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
+       if use doc; then
+               # TODO doman contrib/man/man*/*
+
+               docompress -x /usr/share/doc/${PF}/md
+               docinto md
+               dodoc -r docs/sources/*
+       fi
+
+       dobashcomp contrib/completion/bash/*
+
+       if use zsh-completion; then
+               insinto /usr/share/zsh/site-functions
+               doins contrib/completion/zsh/*
+       fi
+
+       if use vim-syntax; then
+               insinto /usr/share/vim/vimfiles
+               doins -r contrib/syntax/vim/ftdetect
+               doins -r contrib/syntax/vim/syntax
+       fi
+
+       if use contrib; then
+               mkdir -p "${D}/usr/share/${PN}/contrib"
+               cp -R contrib/* "${D}/usr/share/${PN}/contrib"
+       fi
+}
+
+pkg_postinst() {
+       udev_reload
+
+       elog ""
+       elog "To use Docker, the Docker daemon must be running as root. To automatically"
+       elog "start the Docker daemon at boot, add Docker to the default runlevel:"
+       elog "  rc-update add docker default"
+       elog "Similarly for systemd:"
+       elog "  systemctl enable docker.service"
+       elog ""
+
+       # create docker group if the code checking for it in /etc/group exists
+       enewgroup docker
+
+       elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
+       elog "  usermod -aG docker youruser"
+       elog ""
+}