diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/Manifest b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/Manifest
index a5e475b4fc..f6fa6c9be2 100644
--- a/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/Manifest
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/Manifest
@@ -1,2 +1,2 @@
DIST containerd-0.2.5.tar.gz 1003500 SHA256 88e099af66b50abe7f2159f13bdab793fa5199d8d5b9a9ef7a68171abb4359be SHA512 ba1e074bb7556a7c4be4d68dc62aa2fa4b823682c209d1609c1f11518a7b7167139ea159d31e0b21ba190d83115a67e5e45b54b6a4770742d49e9e561309551f WHIRLPOOL eb3622ba99c4d4806bda9a45853422a5b0b884869ed3be4c3caec4c20f49027e8db78b9885eca7bc83a0f3b08e9a66eca950390f0eda1ef2535fd3ab41623bf4
-DIST containerd-0.2.7_p2.tar.gz 1036065 SHA256 da89086a7c643702a2ddecec67a45d3d8e4b0d610dd19036be63e6bd54cc1a85 SHA512 b7d56adaac26c9f0fd0900467fb5f8500472b602d7ce2373704c08ae6a0b852051e469a4fa51c8db475499872a51fcdd65c2adc4124102e66b8ca86cc5b2ff2f WHIRLPOOL 98567c28df37dbe3ad9f926fdae35e5ceb2df50c90373e58b14b1b5204d6eb9763050acf90abd40b44791510809ba3390f91b61a77265db078a221055557a301
+DIST containerd-0.2.9_p7.tar.gz 1229549 SHA256 c506121c49e3bfea27018aa77e09e4734067f84ae85b6ef75ec31b488a91ae54 SHA512 900cf9c251c4de0f9848fb5bf26537226c1361d1a64a0fba853bda3805cb141fc2a849442fe885f0ee228b3e3a7018440af18898b484a54a7b75b4a86538aaa9 WHIRLPOOL 880f19a994f623b7cd8c3f771b5c56468681de349ae4196e60ffcb5a34d42ef423d8eefc82c07134c9e50c33bc0ecbfc1a9e47c3df987050d8dcb82da0178d80
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/containerd-0.2.7_p2-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/containerd-0.2.9_p7.ebuild
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/containerd-0.2.7_p2-r1.ebuild
rename to sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/containerd-0.2.9_p7.ebuild
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/containerd-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/containerd-9999.ebuild
index b4f5d1f80e..7e9f0a80e4 100644
--- a/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/containerd-9999.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/containerd-9999.ebuild
@@ -1,12 +1,11 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id$
-EAPI=5
+EAPI=6
-GITHUB_URI="github.com/docker/${PN}"
+GITHUB_URI="github.com/containerd/containerd"
COREOS_GO_PACKAGE="${GITHUB_URI}"
-COREOS_GO_VERSION="go1.7"
+COREOS_GO_VERSION="go1.8"
if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://${GITHUB_URI}.git"
@@ -15,9 +14,8 @@ else
# Update the patch number when setting commit.
# The patch number is arbitrarily chosen as the number of commits since the
# tagged version.
- # e.g. git log ${base_version}..${EGIT_COMMIT} --oneline | wc -l
- # Note: 0.2.3 in the v0.2.x branch is not tagged, use 973f21f
- EGIT_COMMIT="9048e5e50717ea4497b757314bad98ea3763c145"
+ # e.g. git log --oneline v0.2.9..${EGIT_COMMIT} | wc -l
+ EGIT_COMMIT="6e23458c129b551d5c9871e5174f6b1b7f6d1170"
SRC_URI="https://${GITHUB_URI}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm64"
inherit vcs-snapshot
@@ -30,19 +28,28 @@ HOMEPAGE="https://containerd.tools"
LICENSE="Apache-2.0"
SLOT="0"
-IUSE="seccomp"
+IUSE="hardened +seccomp"
DEPEND=""
-RDEPEND="app-emulation/runc
+RDEPEND=">=app-emulation/docker-runc-1.0.0_rc3
seccomp? ( 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}"
+}
+
src_compile() {
- local options=( $(usev seccomp) )
- LDFLAGS= emake GIT_COMMIT="$EGIT_COMMIT" BUILDTAGS="${options[*]}"
+ local options=( $(usex seccomp "seccomp" '') )
+ export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor
+ LDFLAGS=$(usex hardened '-extldflags -fno-PIC' '') emake GIT_COMMIT="$EGIT_COMMIT" BUILDTAGS="${options[@]}"
}
src_install() {
dobin bin/containerd* bin/ctr
-
systemd_dounit "${FILESDIR}/containerd.service"
}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/metadata.xml
index 95132700bf..92b6d2585a 100644
--- a/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/metadata.xml
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/metadata.xml
@@ -13,8 +13,12 @@
Tianon
- xarthisius@gentoo.org
- Kacper Kowalik
+ mrueg@gentoo.org
+ Manuel Rüger
+
+
+ williamh@gentoo.org
+ William Hubbs
docker/containerd
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-proxy/docker-proxy-0.8.0_p20170410.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-proxy/docker-proxy-0.8.0_p20170410-r1.ebuild
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/app-emulation/docker-proxy/docker-proxy-0.8.0_p20170410.ebuild
rename to sdk_container/src/third_party/coreos-overlay/app-emulation/docker-proxy/docker-proxy-0.8.0_p20170410-r1.ebuild
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-proxy/docker-proxy-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-proxy/docker-proxy-9999.ebuild
index d347bdd672..df42f2750c 100644
--- a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-proxy/docker-proxy-9999.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-proxy/docker-proxy-9999.ebuild
@@ -2,11 +2,11 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=5
+EAPI=6
EGO_PN="github.com/docker/libnetwork"
COREOS_GO_PACKAGE="${EGO_PN}"
-COREOS_GO_VERSION="go1.7"
+COREOS_GO_VERSION="go1.8"
if [[ ${PV} == *9999 ]]; then
KEYWORDS="~amd64 ~arm64"
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/Manifest b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/Manifest
new file mode 100644
index 0000000000..415ffda7c8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/Manifest
@@ -0,0 +1 @@
+DIST docker-runc-1.0.0_rc3_p53.tar.gz 1042839 SHA256 d09b31b9a5adf0a3295d10b20e5f65ec8e1c52a371d463218694c37e075829e9 SHA512 8e937e8ccaa114913d61a450b030496668c1e2d80eecccf5e4914c5685d7dde9a0d50bc2aef9be844dc69eab81621aa1c043abbc72ba28ab6bdb9db5e86daeaf WHIRLPOOL bec7b506a6b2522d401733b32a9f500aec69920dc6d8072ab434c7bfbb1c88a6fb00afa1d2728f78fbaac1d58f890a2b5932fdbe2b0e87b749293f2b48ed2e8a
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/docker-runc-1.0.0_rc3_p53.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/docker-runc-1.0.0_rc3_p53.ebuild
new file mode 100644
index 0000000000..a389a414a1
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/docker-runc-1.0.0_rc3_p53.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2017 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.8"
+# the commit of runc that docker uses.
+# see https://github.com/docker/docker-ce/blob/v17.06.1-ce/components/engine/hack/dockerfile/binaries-commits#L6
+# Note: this commit is only really present in `docker/runc` in the 'docker/17.06' branch
+# 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
+# spcified in the ebuild name. For example:
+# $ git log --oneline v1.0.0-rc3..${COMMIT_ID} | wc -l
+COMMIT_ID="810190ceaa507aa2727d7ae6f4790c76ec150bd2"
+
+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="apparmor ambient 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 apparmor 'apparmor' '')
+ $(usex ambient 'ambient' '')
+ $(usex seccomp 'seccomp' '')
+ $(usex selinux 'selinux' '')
+ )
+
+ # CoreOS: Don't try to install dependencies.
+ sed -i 's/go build -i /go build /' Makefile
+
+ GOPATH="${WORKDIR}/${P}" emake BUILDTAGS="${options[*]}" \
+ COMMIT="${COMMIT_ID}"
+}
+
+src_install() {
+ dobin runc
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/runc/files/0003-1.0.0_rc2_p137-Delay-unshare-of-clone-newipc-for-selinux.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/files/0001-Delay-unshare-of-clone-newipc-for-selinux.patch
similarity index 77%
rename from sdk_container/src/third_party/coreos-overlay/app-emulation/runc/files/0003-1.0.0_rc2_p137-Delay-unshare-of-clone-newipc-for-selinux.patch
rename to sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/files/0001-Delay-unshare-of-clone-newipc-for-selinux.patch
index 23290395a3..5bd34b2210 100644
--- a/sdk_container/src/third_party/coreos-overlay/app-emulation/runc/files/0003-1.0.0_rc2_p137-Delay-unshare-of-clone-newipc-for-selinux.patch
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/files/0001-Delay-unshare-of-clone-newipc-for-selinux.patch
@@ -1,4 +1,4 @@
-From 4a4021f597aa37f69a73f0f98e320abf9df1a814 Mon Sep 17 00:00:00 2001
+From ab3a3b89d712bb1c6ca2e09ffc375f4b837e9401 Mon Sep 17 00:00:00 2001
From: Mrunal Patel
Date: Thu, 2 Feb 2017 11:23:26 -0800
Subject: [PATCH] Delay unshare of CLONE_NEWIPC for SELinux
@@ -14,10 +14,10 @@ Signed-off-by: Mrunal Patel
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c
-index 5b680d0..0a10f80 100644
+index 0ad68834..5100698a 100644
--- a/libcontainer/nsenter/nsexec.c
+++ b/libcontainer/nsenter/nsexec.c
-@@ -639,7 +639,12 @@ void nsexec(void)
+@@ -719,7 +719,12 @@ void nsexec(void)
* some old kernel versions where clone(CLONE_PARENT | CLONE_NEWPID)
* was broken, so we'll just do it the long way anyway.
*/
@@ -31,15 +31,15 @@ index 5b680d0..0a10f80 100644
bail("failed to unshare namespaces");
/*
-@@ -735,6 +740,11 @@ void nsexec(void)
- if (setgroups(0, NULL) < 0)
- bail("setgroups failed");
+@@ -841,6 +846,11 @@ void nsexec(void)
+ bail("setgroups failed");
+ }
+ if ((config.cloneflags & CLONE_NEWUSER) && (config.cloneflags & CLONE_NEWIPC)) {
+ if (unshare(CLONE_NEWIPC) < 0)
+ bail("unshare ipc failed");
+ }
+
- if (consolefd != -1) {
- if (ioctl(consolefd, TIOCSCTTY, 0) < 0)
- bail("ioctl TIOCSCTTY failed");
+ s = SYNC_CHILD_READY;
+ if (write(syncfd, &s, sizeof(s)) != sizeof(s))
+ bail("failed to sync with patent: write(SYNC_CHILD_READY)");
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/metadata.xml
new file mode 100644
index 0000000000..9fe8126b58
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/metadata.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ runc is a CLI tool for spawning and running containers according
+ to the OCF (Open Container Format) specification.
+
+
+ mrueg@gentoo.org
+ Manuel Rüger
+
+
+
+ docker/runc
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/Manifest b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/Manifest
new file mode 100644
index 0000000000..924b6e7011
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/Manifest
@@ -0,0 +1 @@
+DIST docker-17.06.1.tar.gz 9682381 SHA256 2ca8615162873b32d9565f95a4b2977d025fd44c69e087046e004f5dfb1ce30c SHA512 0a7dd578b3f5aa2be9e8df270b74cc5ad698b9c00ed4c314ecfea588cddddef26c0696265978d09abc5799f22f8bd8013b4f1a818e78eb7f7a4e7c15e082b5d0 WHIRLPOOL f6cf32cca15b36b4fa17239ee800d7e9347fc5f97050eca3590c75a76ab4d36ffff676508e7240aef5bd440795a870aa4349f7cede4e9fb4d610a3146693f8d7
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/docker-17.05.0-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/docker-17.06.1.ebuild
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/app-emulation/docker/docker-17.05.0-r1.ebuild
rename to sdk_container/src/third_party/coreos-overlay/app-emulation/docker/docker-17.06.1.ebuild
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/docker-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/docker-9999.ebuild
index 156995c21d..2b63b648bb 100644
--- a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/docker-9999.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/docker-9999.ebuild
@@ -1,39 +1,45 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=6
-CROS_WORKON_PROJECT="coreos/docker"
-CROS_WORKON_LOCALNAME="docker"
-CROS_WORKON_REPO="git://github.com"
-COREOS_GO_VERSION="go1.7"
+COREOS_GO_PACKAGE="github.com/docker/docker-ce"
+COREOS_GO_VERSION="go1.8"
-if [[ ${PV} == *9999 ]]; then
- DOCKER_GITCOMMIT="unknown"
+if [[ ${PV} = *9999* ]]; then
+ # Docker cannot be fetched via "go get", thanks to autogenerated code
+ EGIT_REPO_URI="https://${COREOS_GO_PACKAGE}.git"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${COREOS_GO_PACKAGE}"
+ inherit git-r3
KEYWORDS="~amd64 ~arm64"
else
- CROS_WORKON_COMMIT="89658bed64c2a8fe05a978e5b87dbec409d57a0f" # coreos-17.05.0-ce
- DOCKER_GITCOMMIT="${CROS_WORKON_COMMIT:0:7}"
+ inherit versionator
+ if [ "$(get_version_component_count)" = 4 ]; then
+ MY_PV="$(replace_version_separator 3 '-ce-')"
+ else
+ MY_PV="$PV-ce"
+ fi
+ DOCKER_GITCOMMIT="874a737"
+ 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!"
fi
+inherit bash-completion-r1 coreos-go-depend linux-info systemd udev user
-inherit bash-completion-r1 eutils linux-info multilib systemd udev user cros-workon coreos-go-depend
-
-DESCRIPTION="Docker complements kernel namespacing with a high-level API which operates at the process level"
+DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
HOMEPAGE="https://dockerproject.org"
LICENSE="Apache-2.0"
SLOT="0"
-IUSE="apparmor aufs +btrfs +container-init +device-mapper +overlay pkcs11 +journald seccomp +selinux vim-syntax zsh-completion"
+IUSE="apparmor aufs +btrfs +container-init +device-mapper hardened +overlay pkcs11 seccomp +journald +selinux"
-# https://github.com/docker/docker/blob/v17.05.0-ce/project/PACKAGERS.md#build-dependencies
+# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
CDEPEND="
>=dev-db/sqlite-3.7.9:3
device-mapper? (
>=sys-fs/lvm2-2.02.89[thin]
)
- seccomp? (
- >=sys-libs/libseccomp-2.2.1[static-libs]
- )
+ seccomp? ( >=sys-libs/libseccomp-2.2.1[static-libs] )
+ apparmor? ( sys-libs/libapparmor )
"
DEPEND="
@@ -49,26 +55,25 @@ DEPEND="
# or an explicit copy when installing binary packages. See coreos-kernel.eclass
DEPEND+="sys-kernel/coreos-kernel"
-# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies
-# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies
+# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
+# 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
- >=sys-apps/shadow-4.4
- >=app-emulation/containerd-0.2.7_p2-r1[seccomp?]
- =app-emulation/runc-1.0.0_rc2_p137[apparmor?,seccomp?]
+ =app-emulation/containerd-0.2.9_p7[seccomp?]
+ =app-emulation/docker-runc-1.0.0_rc3_p53[apparmor?,seccomp?]
app-emulation/docker-proxy
container-init? ( >=sys-process/tini-0.13.1 )
"
RESTRICT="installsources strip"
+S="${WORKDIR}/${P}/src/${COREOS_GO_PACKAGE}"
+
# see "contrib/check-config.sh" from upstream's sources
CONFIG_CHECK="
~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
@@ -193,34 +198,30 @@ pkg_setup() {
enewgroup docker
}
-src_prepare() {
- # allow user patches (use sparingly - upstream won't support them)
- epatch_user
-
- # remove the .git directory so that hack/make.sh uses DOCKER_GITCOMMIT
- # for the commit hash.
- rm --recursive --force .git
+src_unpack() {
+ if [ -n "$DOCKER_GITCOMMIT" ]; then
+ mkdir -p "${S}"
+ tar --strip-components=1 -C "${S}" -xf "${DISTDIR}/${A}"
+ else
+ git-r3_src_unpack
+ DOCKER_GITCOMMIT=$(git -C "${S}" rev-parse HEAD | head -c 7)
+ fi
}
src_compile() {
- # if we treat them right, Docker's build scripts will set up a
- # reasonable GOPATH for us
- export AUTO_GOPATH=1
+ export GOPATH="${WORKDIR}/${P}"
- # if we're building from a zip, we need the GITCOMMIT value
+ # 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 tarball, we need the GITCOMMIT value
[ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
- if gcc-specs-pie; then
- sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
- grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
-
- sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
- -i hack/make/dynbinary-client || die
- sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
- -i hack/make/dynbinary-daemon || die
- grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
- grep -q -- '-fno-PIC' hack/make/dynbinary-client || die 'hardened sed failed'
- fi
+ # fake golang layout
+ ln -s docker-ce/components/engine ../docker || die
+ ln -s docker-ce/components/cli ../cli || die
# let's set up some optional features :)
export DOCKER_BUILDTAGS=''
@@ -236,24 +237,42 @@ src_compile() {
fi
done
- go_export
+ pushd components/engine || die
- # verbose building
- export BUILDFLAGS="-x -v"
+ if use hardened; then
+ sed -i "s#EXTLDFLAGS_STATIC='#&-fno-PIC $LDFLAGS #" hack/make.sh || die
+ grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
+ sed "s#LDFLAGS_STATIC_DOCKER='#&-extldflags \"-fno-PIC $LDFLAGS\" #" \
+ -i hack/make/dynbinary-daemon || die
+ grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
+ fi
- # time to build!
+ # build daemon
./hack/make.sh dynbinary || die 'dynbinary failed'
+
+ popd || die # components/engine
+
+ pushd components/cli || die
+
+ # build cli
+ emake \
+ LDFLAGS="$(usex hardened "-extldflags \"-fno-PIC $LDFLAGS\"" '')" \
+ VERSION="$(cat ../../VERSION)" \
+ GITCOMMIT="${DOCKER_GITCOMMIT}" \
+ dynbinary || die
+
+ popd || die # components/cli
}
src_install() {
- VERSION="$(cat VERSION)"
- newbin "bundles/$VERSION/dynbinary-client/docker-$VERSION" docker
- newbin "bundles/$VERSION/dynbinary-daemon/dockerd-$VERSION" dockerd
dosym containerd /usr/bin/docker-containerd
dosym containerd-shim /usr/bin/docker-containerd-shim
dosym runc /usr/bin/docker-runc
use container-init && dosym tini /usr/bin/docker-init
+ pushd components/engine || die
+ newbin "$(readlink -f bundles/latest/dynbinary-daemon/dockerd)" dockerd
+
newinitd contrib/init/openrc/docker.initd docker
newconfd contrib/init/openrc/docker.confd docker
@@ -273,18 +292,19 @@ src_install() {
dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
dodoc -r docs/*
+ insinto /usr/share/vim/vimfiles
+ doins -r contrib/syntax/vim/ftdetect
+ doins -r contrib/syntax/vim/syntax
+ popd || die # components/engine
+
+ pushd components/cli || die
+
+ newbin build/docker-* docker
+
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
+ insinto /usr/share/zsh/site-functions
+ doins contrib/completion/zsh/_*
+ popd || die # components/cli
}
pkg_postinst() {
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/metadata.xml
index 907d5d1da2..16f7009d5e 100644
--- a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/metadata.xml
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/metadata.xml
@@ -8,23 +8,18 @@
scale, in production, on VMs, bare metal, OpenStack clusters, public
clouds and more.
- proxy-maintainers
-
+
admwiggin@gmail.com
Tianon
-
- xarthisius@gentoo.org
- Kacper Kowalik
-
-
- alunduil@gentoo.org
- Alex Brandt
-
-
+
williamh@gentoo.org
William Hubbs
+
+ mrueg@gentoo.org
+ Manuel Rüger
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/runc/Manifest b/sdk_container/src/third_party/coreos-overlay/app-emulation/runc/Manifest
index 0c7c9bb636..ccf9251add 100644
--- a/sdk_container/src/third_party/coreos-overlay/app-emulation/runc/Manifest
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/runc/Manifest
@@ -1,2 +1 @@
-DIST runc-1.0.0_rc2_p137.tar.gz 561483 SHA256 b5c50d7d9a5f610d5424f96196efa306ec708fd9299302dd919545099c16b7c1 SHA512 225a37b4a3a79ff0d7a3e74b997f6e5547e270d02c58e65ccb5ea2d81771c489378727bd6abf2f445ea94c2e7717e2991da9fb4cab74327fd57c0e6218143cc3 WHIRLPOOL ecf6ee1d2ed977b74d0d5d5dbf3ff2cc96728bd680a13c58f715dea2401002b0da461d6d2d9ac6af35f290a356821b19175e6f5004fa25b3c8d82eca69d87965
DIST runc-1.0.0_rc2_p9.tar.gz 550963 SHA256 374822cc2895ed3899b7a3a03b566413ea782fccec1307231f27894e9c6d5bea SHA512 0176fc0fd69b298b5cb304388544a45b3805154f635c4a7492daac6e33774b16ad76af2b3008205de169306812834f4299106c89a17b1667168f3ad2ddc2e975 WHIRLPOOL 5015352fe7dc9ddedf93d555cf2750b3e9d72adfda534b1e30a69ac8b6b05e73bfbbe0ba72f543be4e3133f1604a5b42acc3363d30187a75861ca42755dfff81
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/runc/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/runc/metadata.xml
index 5dc82f3cb5..91b38bdea9 100644
--- a/sdk_container/src/third_party/coreos-overlay/app-emulation/runc/metadata.xml
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/runc/metadata.xml
@@ -9,7 +9,18 @@
cardoe@gentoo.org
Doug Goldstein
+
+ williamh@gentoo.org
+ William Hubbs
+
+
+ mrueg@gentoo.org
+ Manuel Rüger
+