Merge pull request #3335 from dm0-/docker

Upgrade Docker to 18.06
This commit is contained in:
David Michael 2018-07-23 23:49:40 -04:00 committed by GitHub
commit 8cf69e7355
20 changed files with 200 additions and 90 deletions

View File

@ -4,7 +4,7 @@
"images": [
{
"name": "docker",
"reference": "18.05"
"reference": "18.06"
}
]
}

View File

@ -1,3 +1,4 @@
DIST containerd-0.2.5.tar.gz 1003500 SHA256 88e099af66b50abe7f2159f13bdab793fa5199d8d5b9a9ef7a68171abb4359be SHA512 ba1e074bb7556a7c4be4d68dc62aa2fa4b823682c209d1609c1f11518a7b7167139ea159d31e0b21ba190d83115a67e5e45b54b6a4770742d49e9e561309551f WHIRLPOOL eb3622ba99c4d4806bda9a45853422a5b0b884869ed3be4c3caec4c20f49027e8db78b9885eca7bc83a0f3b08e9a66eca950390f0eda1ef2535fd3ab41623bf4
DIST containerd-0.2.6.tar.gz 1020572 SHA256 a67c4153ac5ae26b9d11daac133b90cba059ba16de7579e39c3e82bcda856493 SHA512 41018bda556a3ddfb1bd3a16e642548ba06f413b13fd1488e731896e277ba6c84a393ebd5de067ecaeccc695297a2b74edf22e5a3fe8f2e3eadf78d080bdeff6 WHIRLPOOL 98f64c888ea580074e51b91311ab186291cb2d3ecc9f178d828687dbb60b35104237041699b6125cf026edd245459a052fda1801ac3cd7e1efe34606c3d9a4eb
DIST containerd-1.0.3.tar.gz 3776722 SHA256 299e3a93eac232c1259fe058e724bfc274741b13b9de96116d1f61619bb2789e SHA512 31aa462f357a77434033ae4bff2e453ce849cbd91e4981383be3c7cdea77ea1f57081c4f8121d15c151145defc2003348fe23b26a11568b38780fa2fb9cf114c WHIRLPOOL 72c6d43a9377e6c88b04b35913496197a711843962801870c53a43d55c71968ff618307827c2ddbcff12474fb9a84ae8ec61256e2f384c4c37d8c9384234c679
DIST containerd-1.1.1.tar.gz 5123253 SHA256 2901e3f6113ea97850ec9ac5640db0273c7f10e887701f7da2cf3ae1a730934e SHA512 429070dbe0b486f8bbf5411c037e020f50fd008741091d6db1c13a0b526b2b4d0b22bb458401dd2ed142dc34e9bdcbd1ea30eabba39f11a50c294b94ce9867bd WHIRLPOOL d7ca0c6d698f0452fbb66ec1660e97fe0dc0a57de1c31bece12b8c42b4eb0a6ce622a3dd4b10de703d207839a31f594ffd9bedc10ace25068118b42766db59e8

View File

@ -0,0 +1,63 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
GITHUB_URI="github.com/containerd/containerd"
COREOS_GO_PACKAGE="${GITHUB_URI}"
COREOS_GO_VERSION="go1.9"
if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://${GITHUB_URI}.git"
inherit git-r3
else
MY_PV="${PV/_rc/-rc.}"
EGIT_COMMIT="v${MY_PV}"
CONTAINERD_COMMIT="773c489c9c1b21a6d78b5c538cd395416ec50f88"
SRC_URI="https://${GITHUB_URI}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm64"
inherit vcs-snapshot
fi
inherit coreos-go systemd
DESCRIPTION="A daemon to control runC"
HOMEPAGE="https://containerd.tools"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="+btrfs hardened"
DEPEND="btrfs? ( sys-fs/btrfs-progs )"
RDEPEND="=app-emulation/docker-runc-1.0.0_rc5
sys-libs/libseccomp"
S=${WORKDIR}/${P}/src/${COREOS_GO_PACKAGE}
src_unpack() {
mkdir -p "${S}"
tar --strip-components=1 -C "${S}" -xf "${DISTDIR}/${A}"
}
src_prepare() {
coreos-go_src_prepare
if [[ ${PV} != *9999* ]]; then
sed -i -e "s/git describe --match.*$/echo ${PV})/"\
-e "s/git rev-parse HEAD.*$/echo $CONTAINERD_COMMIT)/"\
-e "s/-s -w//" \
Makefile || die
fi
}
src_compile() {
local options=( $(usex btrfs "" "no_btrfs") )
export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor
LDFLAGS=$(usex hardened '-extldflags -fno-PIC' '') emake BUILDTAGS="${options[*]}"
}
src_install() {
dobin bin/containerd{-shim,-stress,} bin/ctr
systemd_newunit "${FILESDIR}/${PN}-1.0.0.service" "${PN}.service"
insinto /usr/share/containerd
doins "${FILESDIR}/config.toml"
}

View File

@ -0,0 +1 @@
containerd-9999.ebuild

View File

@ -5,7 +5,7 @@ EAPI=6
GITHUB_URI="github.com/containerd/containerd"
COREOS_GO_PACKAGE="${GITHUB_URI}"
COREOS_GO_VERSION="go1.9"
COREOS_GO_VERSION="go1.10"
if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://${GITHUB_URI}.git"
@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]]; then
else
MY_PV="${PV/_rc/-rc.}"
EGIT_COMMIT="v${MY_PV}"
CONTAINERD_COMMIT="773c489c9c1b21a6d78b5c538cd395416ec50f88"
CONTAINERD_COMMIT="d64c661f1d51c48782c9cec8fda7604785f93587"
SRC_URI="https://${GITHUB_URI}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm64"
inherit vcs-snapshot
@ -29,11 +29,13 @@ SLOT="0"
IUSE="+btrfs hardened"
DEPEND="btrfs? ( sys-fs/btrfs-progs )"
RDEPEND="=app-emulation/docker-runc-1.0.0_rc5
RDEPEND="=app-emulation/docker-runc-1.0.0_rc5_p19
sys-libs/libseccomp"
S=${WORKDIR}/${P}/src/${COREOS_GO_PACKAGE}
RESTRICT="test"
src_unpack() {
mkdir -p "${S}"
tar --strip-components=1 -C "${S}" -xf "${DISTDIR}/${A}"

View File

@ -1,3 +1,4 @@
DIST docker-proxy-0.8.0_p20161019.tar.gz 2112423 SHA256 170d355ad613cc28245a6d9501bcaba930cb594a632fdd9bd52a4fa90b406932 SHA512 a7b040cdeaf15054d436b184370af0f9b23a5b6d0b2c01530b7ad539040186888bb030309e18a1a02ad252753cf4f08aa5e5ec504480a8ffb7050db76764db5b WHIRLPOOL 83fed4162e1fbe2a640dfb720ca85583f923166d0f7da3e397ec20a333dddc42d7def2231de8877569cb63bb37435d23f772413ffd6d82f8a4a8c453d75f669c
DIST docker-proxy-0.8.0_p20170917.tar.gz 2177045 SHA256 2eee331b6ded567a36e7db708405b34032b93938682cf049025f48b96d755bf6 SHA512 673ea638fa5c560d8238d7c1d88f114430f9d8efe701804bfe30044d0c059a688cbf6b62922be50834e16ee055ef6cf015f6232f76f0d942768f9e84e95496cd WHIRLPOOL 27b33b36bbdeaff3d25977b50aa11fc5a4708482f44efe583223c1aab40091e28824eda6eb5ac8a7f20be24ef4ddcf9b6e4a043c52c9e6953ec2c95f266fb296
DIST docker-proxy-0.8.0_p20180411.tar.gz 2695069 SHA256 117d31c100eaa50468050015a94fd2e326e59fb22c50285b794dc7dece72853f SHA512 300e197313017536f91768ba675f2ab773eb1914f8e5908f4ff5b6fc8c4f0fa5ba1653cd9f8ca26e7c466f1623716aa45a2746f862e47ca9fe9136010085f600 WHIRLPOOL 72cb012a4da2be27e0c747ad86cd14ab86998c20357becdf254aa1114f9aca4da135b1ed95ca281aa14f27a2fe2fc1199677fed719a10d342ea0ab9a9fcc8be4
DIST docker-proxy-0.8.0_p20180709.tar.gz 2718698 SHA256 572ce85f2c51a21c1cd55056cf8cb9ef1d447c2de9c82485233be9f851284299 SHA512 21d3d1bd8aafeab51a3e0a14ada4d559b5b113a48d315e91f7d70e4fa839f5c92d4068b38c28bf6929da9c11cfc61703bafc7148f64b784208d61fa14ee4545d WHIRLPOOL 4294149756e8549f7d9785db462fb32aaa5e49ff1d74653bf824726dc744f5582c66531b8052542c28cebf01c5d5280fef6b12d0b2c0b75126ef5595d3c097a7

View File

@ -0,0 +1,42 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EGO_PN="github.com/docker/libnetwork"
COREOS_GO_PACKAGE="${EGO_PN}"
COREOS_GO_VERSION="go1.9"
if [[ ${PV} == *9999 ]]; then
KEYWORDS="~amd64 ~arm64"
inherit golang-vcs
else
EGIT_COMMIT="c15b372ef22125880d378167dde44f4b134e1a77"
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm64"
inherit golang-vcs-snapshot
fi
inherit coreos-go
DESCRIPTION="Docker container networking"
HOMEPAGE="https://github.com/docker/libnetwork"
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
S=${WORKDIR}/${P}/src/${EGO_PN}
RDEPEND="!<app-emulation/docker-1.13.0_rc1"
RESTRICT="test" # needs dockerd
src_compile() {
go_build "${COREOS_GO_PACKAGE}/cmd/proxy"
}
src_install() {
dodoc ROADMAP.md README.md CHANGELOG.md
newbin "${GOBIN}"/proxy docker-proxy
}

View File

@ -0,0 +1 @@
docker-proxy-9999.ebuild

View File

@ -5,13 +5,13 @@ EAPI=6
EGO_PN="github.com/docker/libnetwork"
COREOS_GO_PACKAGE="${EGO_PN}"
COREOS_GO_VERSION="go1.9"
COREOS_GO_VERSION="go1.10"
if [[ ${PV} == *9999 ]]; then
KEYWORDS="~amd64 ~arm64"
inherit golang-vcs
else
EGIT_COMMIT="c15b372ef22125880d378167dde44f4b134e1a77"
EGIT_COMMIT="3ac297bc7fd0afec9051bbb47024c9bc1d75bf5b"
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm64"
inherit golang-vcs-snapshot

View File

@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<longdescription>
</longdescription>
<maintainer type="person">
<email>tianon@dockerproject.org</email>
<name>Tianon</name>

View File

@ -1,2 +1,3 @@
DIST docker-runc-1.0.0_rc2_p136.tar.gz 561705 SHA256 2954cb6b468b3806a08c45656acc2019035bc9994c2a9b4249cfde4d9b3a7c93 SHA512 6052b95042082c3345caf25d3646f47b82c151ff3aca2ca4510dbf72ee80056d8c4077f2a1b48a9f4178c41185835ff51461e52ad47969534ea6febf7cac74f1 WHIRLPOOL ede821987006a54e7a87f88d9a5104d4a4ecc05a614e111fefa669f5ae436c11004debfe919bec0808194f2d96442775718a0208a1a374a9dd56a896f7dd8640
DIST docker-runc-1.0.0_rc5.tar.gz 1185541 SHA256 a7fe83b7711aec0c82554d28ac0dbadfef1cb954ab5c2feccd34a57cfb720037 SHA512 f7d765c6d0a24adf1030cb41d71ce532f2f5b3dd4c05c48aaa6eb37604c3854cc3a463aff19defc7c259564e237ef30f7e39d4787dad0ee42bb534c3d65946c0 WHIRLPOOL 4ef03e74635fe434f65b23efda50aac8c929c9d007804d8477058c0684e2394af5156543af00a860990352d0567f12b37f1e35c1d83085660718ddc4ea92d6c5
DIST docker-runc-1.0.0_rc5_p19.tar.gz 1185576 SHA256 994a3a0447fcbf7e37614b02aa5604d2d6b9fdb41e6870d8d3ff1138ed6e61ef SHA512 9a55bdb8e39830f46cceff48970b7688139927552e3d268b9ef4a6e640ffc3d95164b99c5b05d07d295bedc2ea22daf6062fd520df1548d78b1d481fd928f1e3 WHIRLPOOL 354a12c1758ee499c850e3e4efb3d8eacbbc54649dad11d2d259b28ff8220e47fd97f406dfa15d98f688e5dfe79c78452e451b5d50be745b57fe620acb24f98e

View File

@ -7,7 +7,7 @@ GITHUB_URI="github.com/opencontainers/runc"
COREOS_GO_PACKAGE="${GITHUB_URI}"
COREOS_GO_VERSION="go1.9"
# the commit of runc that docker uses.
# see https://github.com/docker/docker-ce/blob/v18.05.0-ce/components/engine/hack/dockerfile/install/runc.installer#L4
# see https://github.com/docker/docker-ce/blob/v18.03.0-ce/components/engine/hack/dockerfile/install/runc.installer#L4
COMMIT_ID="4fc53a81fb7c994640722ac585fa9ca548971871"
inherit eutils flag-o-matic coreos-go vcs-snapshot

View File

@ -0,0 +1,68 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
GITHUB_URI="github.com/opencontainers/runc"
COREOS_GO_PACKAGE="${GITHUB_URI}"
COREOS_GO_VERSION="go1.10"
# the commit of runc that docker uses.
# see https://github.com/docker/docker-ce/blob/v18.06.0-ce/components/engine/hack/dockerfile/install/runc.installer#L4
# Update the patch number when this commit is changed (i.e. the _p in the ebuild).
# The patch version is arbitrarily the number of commits since the tag version
# specified in the ebuild name. For example:
# $ git log --oneline v1.0.0-rc5..${COMMIT_ID} | wc -l
COMMIT_ID="69663f0bd4b60df09991c08812a60108003fa340"
inherit eutils flag-o-matic coreos-go vcs-snapshot
SRC_URI="https://${GITHUB_URI}/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm64"
DESCRIPTION="runc container cli tools (docker fork)"
HOMEPAGE="http://runc.io"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="ambient apparmor hardened +seccomp selinux"
RDEPEND="
apparmor? ( sys-libs/libapparmor )
seccomp? ( sys-libs/libseccomp )
!app-emulation/runc
"
S=${WORKDIR}/${P}/src/${COREOS_GO_PACKAGE}
RESTRICT="test"
src_unpack() {
mkdir -p "${S}"
tar --strip-components=1 -C "${S}" -xf "${DISTDIR}/${A}"
}
PATCHES=(
"${FILESDIR}/0001-Delay-unshare-of-clone-newipc-for-selinux.patch"
)
src_compile() {
# Taken from app-emulation/docker-1.7.0-r1
export CGO_CFLAGS="-I${ROOT}/usr/include"
export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')
-L${ROOT}/usr/$(get_libdir)"
# build up optional flags
local options=(
$(usex ambient 'ambient' '')
$(usex apparmor 'apparmor' '')
$(usex seccomp 'seccomp' '')
$(usex selinux 'selinux' '')
)
GOPATH="${WORKDIR}/${P}" emake BUILDTAGS="${options[*]}" \
COMMIT="${COMMIT_ID}"
}
src_install() {
dobin runc
}

View File

@ -1,2 +1,2 @@
DIST docker-18.03.1.tar.gz 12758590 SHA256 b05f3709844c45d49922914cf6eb71d4131d0bd5389361376ff6a86aa186f4a0 SHA512 48c4916421cd500ada1bfc2207123a29870939a15a1c7c4a0c082f61c1e3e063381e2345ee9df645dbaca49e002dbfaba70cf6fe233b39a4e1f44fb015807e10 WHIRLPOOL a3bab244645243db9c4072be3f81d22298ddf0b4b2d260bc57a7244981fe67acd4cd308e82a2bc5e2afde7b90351aac41fba4808a5b64d0eec6dc03113aed8f2
DIST docker-18.05.0.tar.gz 12822443 SHA256 cc29408b382774b9f5967ee33851e97bcb7463aa7358d60004f28b836a70ba75 SHA512 81997f32a45bf9cf7e79c936728999dac84e6c51e7ec04c7dd4f0fc1fbc837aaddd2ce4fa5e4e3eb2ee99599b005f06104b81b0fa858e59692c17398a341bfd1 WHIRLPOOL 8bceefeb401308b22a92ef2652f2ace4e3b218ea421c7b9966fe85327e4f9a862f20bb8e2accc7bcbf591f350f82e8ba0dd70df5aabe70327bb5dcacf6660176
DIST docker-18.06.0.tar.gz 13656557 SHA256 18754ecb38d7c210fb2b96ee618dc2bdf94e66cd501d4eef0c685903a83e8501 SHA512 d5bd6a83126c4dba14c775533b6c9bda35af2cd97db13922b3766494ce10dd9316d0167c87a6683dede28ea063f9435a0a009b96e413dad8abc7884a3468d589 WHIRLPOOL 708a9ce17f440c4d2161a89b92591c82653b8d61eb7e1d72d47b389f674d92c826bf5f86daa3f770450479e8768fc8f451ee6cbc0f5ffd8585be527f8f2a0005

View File

@ -19,7 +19,7 @@ else
else
MY_PV="$PV-ce"
fi
DOCKER_GITCOMMIT="f150324"
DOCKER_GITCOMMIT="0ffa825"
SRC_URI="https://${COREOS_GO_PACKAGE}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm64"
[ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
@ -59,14 +59,16 @@ DEPEND+="sys-kernel/coreos-kernel"
# https://github.com/docker/docker/blob/master/project/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
dev-libs/libltdl
=app-emulation/containerd-1.0.3
=app-emulation/docker-runc-1.0.0_rc5[apparmor?,seccomp?]
=app-emulation/docker-proxy-0.8.0_p20180411
=app-emulation/containerd-1.1.1
=app-emulation/docker-runc-1.0.0_rc5_p19[apparmor?,seccomp?]
=app-emulation/docker-proxy-0.8.0_p20180709
container-init? ( >=sys-process/tini-0.13.1 )
"
@ -74,9 +76,7 @@ RESTRICT="installsources strip"
S="${WORKDIR}/${P}/src/${COREOS_GO_PACKAGE}"
ENGINE_PATCHES=(
"${FILESDIR}/fix-bind-mount-bug2440.patch"
)
ENGINE_PATCHES=()
# see "contrib/check-config.sh" from upstream's sources
CONFIG_CHECK="
@ -265,7 +265,7 @@ src_compile() {
pushd components/cli || die
# Imitating https://github.com/docker/docker-ce/blob/v18.05.0-ce/components/cli/scripts/build/.variables#L7
# Imitating https://github.com/docker/docker-ce/blob/v18.06.0-ce/components/cli/scripts/build/.variables#L7
CLI_BUILDTIME="$(date -d "@${DOCKER_BUILD_DATE}" --utc --rfc-3339 ns 2> /dev/null | sed -e 's/ /T/')"
# build cli
emake \

View File

@ -1,66 +0,0 @@
From d8fd6137a1f6d95a2bcdfeb6e1dfa6b816790c5e Mon Sep 17 00:00:00 2001
From: Kir Kolyshkin <kolyshkin@gmail.com>
Date: Thu, 10 May 2018 12:01:50 -0700
Subject: [PATCH] daemon.getSourceMount(): fix for / mount point
A recent optimization in getSourceMount() made it return an error
in case when the found mount point is "/". This prevented bind-mounted
volumes from working in such cases.
A (rather trivial but adeqate) unit test case is added.
Fixes: 871c957242 ("getSourceMount(): simplify")
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
---
daemon/oci_linux.go | 8 +-------
daemon/oci_linux_test.go | 14 ++++++++++++++
2 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/daemon/oci_linux.go b/daemon/oci_linux.go
index 62e7c7f1d682..766701a41683 100644
--- a/daemon/oci_linux.go
+++ b/daemon/oci_linux.go
@@ -405,13 +405,7 @@ func getSourceMount(source string) (string, string, error) {
idx = i
}
}
- // and return it unless it's "/"
- if mi[idx].Mountpoint != "/" {
- return mi[idx].Mountpoint, mi[idx].Optional, nil
- }
-
- // If we are here, we did not find parent mount. Something is wrong.
- return "", "", fmt.Errorf("Could not find source mount of %s", source)
+ return mi[idx].Mountpoint, mi[idx].Optional, nil
}
const (
diff --git a/daemon/oci_linux_test.go b/daemon/oci_linux_test.go
index 5f2731b8d652..e28fac004efd 100644
--- a/daemon/oci_linux_test.go
+++ b/daemon/oci_linux_test.go
@@ -1,6 +1,7 @@
package daemon // import "github.com/docker/docker/daemon"
import (
+ "os"
"testing"
containertypes "github.com/docker/docker/api/types/container"
@@ -86,3 +87,16 @@ func TestIpcPrivateVsReadonly(t *testing.T) {
assert.Check(t, is.Equal(false, inSlice(m.Options, "ro")))
}
}
+
+func TestGetSourceMount(t *testing.T) {
+ // must be able to find source mount for /
+ mnt, _, err := getSourceMount("/")
+ assert.NilError(t, err)
+ assert.Equal(t, mnt, "/")
+
+ // must be able to find source mount for current directory
+ cwd, err := os.Getwd()
+ assert.NilError(t, err)
+ _, _, err = getSourceMount(cwd)
+ assert.NilError(t, err)
+}

View File

@ -11,10 +11,10 @@ KEYWORDS="amd64 arm64"
# Explicitly list all packages that will be built into the image.
RDEPEND="
=app-emulation/docker-18.05.0-r1
=app-emulation/containerd-1.0.3
=app-emulation/docker-proxy-0.8.0_p20180411
=app-emulation/docker-runc-1.0.0_rc5
=app-emulation/docker-18.06.0
=app-emulation/containerd-1.1.1
=app-emulation/docker-proxy-0.8.0_p20180709
=app-emulation/docker-runc-1.0.0_rc5_p19
=dev-libs/libltdl-2.4.6
=sys-process/tini-0.13.2
"