summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/docker/ChangeLog7
-rw-r--r--app-emulation/docker/Manifest13
-rw-r--r--app-emulation/docker/docker-1.7.0-r1.ebuild261
3 files changed, 279 insertions, 2 deletions
diff --git a/app-emulation/docker/ChangeLog b/app-emulation/docker/ChangeLog
index bd09ed0c9c52..8c1e02e939ae 100644
--- a/app-emulation/docker/ChangeLog
+++ b/app-emulation/docker/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for app-emulation/docker
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/docker/ChangeLog,v 1.53 2015/07/05 09:52:08 mrueg Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/docker/ChangeLog,v 1.54 2015/07/07 20:19:11 williamh Exp $
+
+*docker-1.7.0-r1 (07 Jul 2015)
+
+ 07 Jul 2015; William Hubbs <williamh@gentoo.org> +docker-1.7.0-r1.ebuild:
+ add slot dependency on dev-lang/go, approved by all maintainers
05 Jul 2015; Manuel Rüger <mrueg@gentoo.org> docker-1.6.2.ebuild,
docker-1.7.0.ebuild:
diff --git a/app-emulation/docker/Manifest b/app-emulation/docker/Manifest
index e57186211f9e..91a85be7d3ee 100644
--- a/app-emulation/docker/Manifest
+++ b/app-emulation/docker/Manifest
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
AUX 7179-add-audit_write-cap.patch 901 SHA256 a776377cf2aae6f832eda127153817b9bd8564295a02a4ffe1cc75a13b3f4828 SHA512 59c6859e3e843c44650706d359cded1fce42033c13e9c332abd28f8d6434bc4396559ec7d204a5da78535b388546797b2edb03dd765a25f346db33a925d2a734 WHIRLPOOL 6ceecfda3af9de7e31c03716a65c91d228b2ec99cf76e0e8dfdebc59c73ce1ca82b0880259f50566b935c48551b2897c817b72fd002c8ebd550aec5630bdbfb6
AUX docker-r2.confd 581 SHA256 94e1c07b09701f3b0b1c4f6f917206da3b32f8d7e961c3850c4391ebd59df0b4 SHA512 5838270ff9ce7b9a562b2449ba5f4ad72db956dd03f6a1b006c8019ff43fea1c4ae1e2a4818fb092b6096cff6bd9ce539b05b7940412c55b3bb3e30c356da944 WHIRLPOOL a8e3759b6c86855afa7e784d50a7926fc888d50ec03dc2d9dcd70c3f2dd11caf6670196d91f383cab1d603f32a968bed4b3a0668ec1a38d41dc1142ec92235cc
AUX docker-r2.initd 1732 SHA256 26c279641244cfa62e0eed3ad1516eaadc0685b0897f3087e22e15b8b370ff3e SHA512 938a4f1d44300a0d334ddbde3adc87301e031801f4644126622ffe5dce0a74107f3e38a91c71c0319a526a100e0e93b5054f681b7f4e1eb1f96b61fd834f9a5c WHIRLPOOL 493afe48326adf2784e39b163b386aa6d5add054a9857874eee038af15fe1e4af91d936ce70340e939a63c3004893f98b1e7035aae4ea86fbed76115641d6bd9
@@ -10,6 +13,14 @@ DIST docker-1.6.2.tar.gz 5714121 SHA256 f3a031b23ea9ff0fdbf3ffb9449c64ec51bb0534
DIST docker-1.7.0.tar.gz 6840221 SHA256 69f38c8ef69444f23e9ff25058c48a473a8025a911af668f913773deac9e1219 SHA512 c150751f06ebb19576e1ad3aeda8e3df195f8aaa141b612c42a23b8b0e2627e5c9caa2f317dbc622a5af0db6b8d058351ccd2dd3e3b9cc00b1f177c05fe578aa WHIRLPOOL 800430cb077daab3c11362cc1c9749a923c427d2c9dbe83dada12e35d1bfd014c5502a02418af9ac6a2a91e16fe564b2f28ad2ef2e6a502a31a0808e7b99ea12
EBUILD docker-1.6.1.ebuild 6989 SHA256 c4ee05783aa758c88d04f446e41cce27ea966eb6ce4cf1f0eb58101c59fde242 SHA512 b2242d3e3b3a71b77faa6b7404f032d8b3e49262bb056471b10286780fd2deb8f3dce6def5cc3a9307f9a663260ada855fd01dfc1ea023f92041d118d72de790 WHIRLPOOL cc93426aac944d27c092942a440c3ae521c31b6d27688f9df903ca728c967714adf5d1805780301358c528f95901d25a47751ba713bd54b8c53a307c9479c574
EBUILD docker-1.6.2.ebuild 6985 SHA256 45004bcf8d09923c3750df6f008b22622860718988552f2539389070c7863c12 SHA512 31852697327a7b77060c1ca7715c4c4271f262f42f96d9fc55dc6123432d5c740d058f9ce92d190f5fe2973d40d1ea77d5c53769a90a26c89356dba78832ca19 WHIRLPOOL c877065d68df776b65e16fa36e8eab5bf8d057bf5f07ffe2cf04b93384a21a43a4e4690fd03fafd9235a76757c82345412fefe2c0a3359025afba17636c4bb8d
+EBUILD docker-1.7.0-r1.ebuild 7248 SHA256 5c3ec151d31a1d7e887f8a15d27ed81f148be6ff1ac66c96b081494cc360115a SHA512 22919e5ced21289ccd72500dc68cf9683f1dc36952988bf48b3eb8028188879bcf911b630c03aa411d71d0cc5c9773767abcad996082c419afc4690ce0986610 WHIRLPOOL a5d751d5b12fe263b29049f78fb2ac9c561bdbdd498163b315c3ebfdf793b9fdfcb2ed7de3cff4b924e86e0f658c969e32bb1ed39bac2312cfbfa584841594e3
EBUILD docker-1.7.0.ebuild 7240 SHA256 b83accc584a79e2f176445b371bcc1c897151cbbeaba211ac50bca58a880a874 SHA512 47e81e16e8df885a205951cd0b1d81bb440e42e88f1c281ec856eb9559d7173ff76a2cfae76cd513226c8b095895228eb5da8b57fd0c2748eec5f706d61eb1e5 WHIRLPOOL 9e8b7dca813e7a95505f1d21a07cb313e4d939796c8dcc651d844d36be56fc595e20ba7fb577b60de7138a06c05417087480ab6e4a790c52286286586fbfcefe
-MISC ChangeLog 8676 SHA256 e7679b292a74ec067b78c0bac9995c8f7ea06297d8b08d9b2064a9db32ec4d0b SHA512 dd75d67bd39b2a3f6b84a2f2a8d244440ff63dfadf481e0eeab9663a03fd22a6cb96d8dd73257758cf782c538236de2ccfdd68b7dceac8225bdc4741a3dcca44 WHIRLPOOL 753b5e0e3bb60780e5e7486b39afd1df793912ed7d342abb98c95de9fa7fd873757374bfbb148a2f70d6e66b571b6c3693740ea4a4f04200ba272604a3ee8ba9
+MISC ChangeLog 8854 SHA256 86452f2541e69b3a23e6346382a8823a4ccc4c6b5c00b0fe44264d7013ac3c68 SHA512 3d64a96650e940f81961554c64121751bad0d70122654a17702f11c885af91084b50f979f701356738a4d06ad74ede77e97c9cbdde8385229ca090dcf2e2e62a WHIRLPOOL 037d3e7add8992e1fbbd2d6b974d57d619909b6ed1124aa3a62d2ffada0f13f5d7b4cc292edfe2386328707163f4b08fe435c2af1546428eeb643a356b14d52c
MISC metadata.xml 1795 SHA256 ed9ef64477285392cbb9b0e4b45b05441d5d55460b31899015770d2afdf64ae6 SHA512 b0d941f5d928fddd6290a1eff22012536c3718e66e371ea711365ee39f8a42e21f2e66ddefb5716e8cfafec018d9e3a277833af54f34933169096ae1ece5833c WHIRLPOOL 2d46322b68db72ea654df78494bf84c1df7fe41fefb269ac9a0357029f3bc670024ce33450c011d71881f2183cab802ac71d3be2988dbd8e741ce5b4ed5cb12e
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2
+
+iEYEAREIAAYFAlWcNEUACgkQblQW9DDEZTi2ZgCeJLKw3p9YnMOr1YIVaVvyeJyb
+H4UAoJGkUvb3YcFw7hbzBxNXKtuQaZvJ
+=U8Dj
+-----END PGP SIGNATURE-----
diff --git a/app-emulation/docker/docker-1.7.0-r1.ebuild b/app-emulation/docker/docker-1.7.0-r1.ebuild
new file mode 100644
index 000000000000..2f0c4590907d
--- /dev/null
+++ b/app-emulation/docker/docker-1.7.0-r1.ebuild
@@ -0,0 +1,261 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/docker/docker-1.7.0-r1.ebuild,v 1.1 2015/07/07 20:19:11 williamh 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
+ MY_PV="${PV/_/-}"
+ MY_P="${PN}-${MY_PV}"
+ SRC_URI="https://${GITHUB_URI}/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+ S="${WORKDIR}/${MY_P}"
+ DOCKER_GITCOMMIT="0baf609"
+ 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="apparmor aufs btrfs +contrib +device-mapper doc experimental lxc overlay vim-syntax"
+
+# 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.4:=
+ btrfs? (
+ >=sys-fs/btrfs-progs-3.8
+ )
+"
+
+# 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.7
+ )
+ aufs? (
+ || (
+ sys-fs/aufs3
+ sys-fs/aufs4
+ sys-kernel/aufs-sources
+ )
+ )
+
+ apparmor? (
+ sys-libs/libapparmor[static-libs]
+ )
+"
+
+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 CPUSETS
+ 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
+
+ POSIX_MQUEUE
+
+ ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
+ ~RESOURCE_COUNTERS
+ ~CGROUP_PERF
+ ~CFS_BANDWIDTH
+"
+
+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"
+ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
+
+pkg_setup() {
+ if kernel_is lt 3 10; then
+ eerror ""
+ eerror "Using Docker with kernels older than 3.10 is unstable and unsupported."
+ eerror " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies"
+ die 'Kernel is too old - need 3.10 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
+ ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
+ "
+ # 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 ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
+ "
+ fi
+
+ if use overlay; then
+ CONFIG_CHECK+="
+ ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
+ "
+ 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 overlay; do
+ if ! use $gd; then
+ DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
+ fi
+ done
+
+ if use apparmor; then
+ DOCKER_BUILDTAGS+=' apparmor'
+ fi
+
+ # https://github.com/docker/docker/pull/13338
+ if use experimental; then
+ export DOCKER_EXPERIMENTAL=1
+ else
+ unset DOCKER_EXPERIMENTAL
+ fi
+
+ # time to build!
+ ./hack/make.sh dynbinary || die 'dynbinary failed'
+
+ # TODO get go-md2man and then include the man pages using 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 man/man*/*
+
+ docompress -x /usr/share/doc/${PF}/md
+ docinto md
+ dodoc -r docs/*
+ fi
+
+ dobashcomp contrib/completion/bash/*
+
+ insinto /usr/share/zsh/site-functions
+ doins contrib/completion/zsh/*
+
+ 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 ""
+}