diff options
Diffstat (limited to 'app-emulation')
-rw-r--r-- | app-emulation/docker/ChangeLog | 7 | ||||
-rw-r--r-- | app-emulation/docker/Manifest | 13 | ||||
-rw-r--r-- | app-emulation/docker/docker-1.7.0-r1.ebuild | 261 |
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 "" +} |