forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-emulation/docker: Version bump to 18.09.7_rc1
Package-Manager: Portage-2.3.67, Repoman-2.3.16 Signed-off-by: Manuel Rüger <[email protected]>
- Loading branch information
Showing
2 changed files
with
301 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
DIST docker-18.09.5.tar.gz 15256899 BLAKE2B c55ef822b3e655b0bec9585de6ee346e73d48d388225141097768db9f5ddaeca2d1937274a7131e3e301686e2214a9ed2051dd72c07893bcfccb00424d02df73 SHA512 a6012d202761d6449e347b03759d92f5f45309e72562fd4a619b2a21c62b3f50b1256d2e4820317aa6b412f1eecda66dbd960d322293699433417a5f7ee73486 | ||
DIST docker-18.09.6.tar.gz 15257416 BLAKE2B e0f93f09c403f043d3b2f390d50da83565b0520d18b695a8166aa240817cc713eb9eff314d4c7eeba242c25e35c0b6a9ea3a7f1d661d6aca4a40f7e77856a05d SHA512 f05fc78f5891fa0308878690576e245eebb1e72f306f5b629b0e82dc96a04812202a2393ee6fd352bc59a1c5d29d398f0d6cddf545d57b483a051d14d7a0ee28 | ||
DIST docker-18.09.6_p20190604.tar.gz 15259344 BLAKE2B f958063ab9fc851fda13117210dade6b7fb211426c9565c62f2786a2b5878194ea052f866da1b2e489bd75d622cdf77bafccc538377cc5c261f86f50163cb151 SHA512 da518f07cfd9f90ad46796f5047156ef517fa75ff27daa16ab16b868b7f1c9822cb61ce2ee558b1632c4acfdd8d74a608f5b6cb5cb5ca932aca5bf42d497d6a9 | ||
DIST docker-18.09.7_rc1.tar.gz 15264071 BLAKE2B d124cff1e32cedda35d8d0fac074a2227d078673639e99a1313e42b73b2c84b0c97af5470d3d4c8f2684e93898ab9d081fe536cd4e428ef8a8a5639761bd380b SHA512 377a07c7a1515a8f08c412d2117e10d9c9100a4a55dc5df69e8a8b822362b0b41812b3d4ee8fc8a1e7bc7258c15ee3da6aa42c7bc71fd86def1f6cda9f1566cd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,300 @@ | ||
# Copyright 1999-2019 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
EGO_PN="github.com/docker/docker-ce" | ||
|
||
if [[ ${PV} = *9999* ]]; then | ||
# Docker cannot be fetched via "go get", thanks to autogenerated code | ||
EGIT_REPO_URI="https://${EGO_PN}.git" | ||
EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}" | ||
inherit git-r3 | ||
else | ||
DOCKER_GITCOMMIT="e97b22c" | ||
MY_PV=${PV/_/-} | ||
SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" | ||
KEYWORDS="~amd64 ~arm ~arm64" | ||
[ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!" | ||
inherit golang-vcs-snapshot | ||
fi | ||
inherit bash-completion-r1 golang-base linux-info systemd udev user | ||
|
||
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 hardened +overlay pkcs11 seccomp" | ||
|
||
# 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 ) | ||
apparmor? ( sys-libs/libapparmor ) | ||
" | ||
|
||
DEPEND=" | ||
${CDEPEND} | ||
dev-go/go-md2man | ||
btrfs? ( | ||
>=sys-fs/btrfs-progs-3.16.1 | ||
) | ||
" | ||
|
||
# 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} | ||
>=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.2.6 | ||
~app-emulation/runc-1.0.0_rc8[apparmor?,seccomp?] | ||
~app-emulation/docker-proxy-0.8.0_p20190513 | ||
container-init? ( >=sys-process/tini-0.18.0[static] ) | ||
" | ||
|
||
RESTRICT="installsources strip" | ||
|
||
S="${WORKDIR}/${P}/src/${EGO_PN}" | ||
|
||
# see "contrib/check-config.sh" from upstream's sources | ||
CONFIG_CHECK=" | ||
~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS | ||
~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG | ||
~KEYS | ||
~VETH ~BRIDGE ~BRIDGE_NETFILTER | ||
~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE | ||
~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS | ||
~IP_NF_NAT ~NF_NAT ~NF_NAT_NEEDED | ||
~POSIX_MQUEUE | ||
~USER_NS | ||
~SECCOMP | ||
~CGROUP_PIDS | ||
~MEMCG_SWAP ~MEMCG_SWAP_ENABLED | ||
~BLK_CGROUP ~BLK_DEV_THROTTLING ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED | ||
~CGROUP_PERF | ||
~CGROUP_HUGETLB | ||
~NET_CLS_CGROUP | ||
~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED | ||
~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR | ||
~VXLAN | ||
~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH ~XFRM_ALGO ~XFRM_USER | ||
~IPVLAN | ||
~MACVLAN ~DUMMY | ||
" | ||
|
||
ERROR_KEYS="CONFIG_KEYS: is mandatory" | ||
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_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering" | ||
ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: 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" | ||
ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks" | ||
ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks" | ||
|
||
pkg_setup() { | ||
if kernel_is lt 3 10; then | ||
ewarn "" | ||
ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported." | ||
ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies" | ||
fi | ||
|
||
if kernel_is le 3 18; then | ||
CONFIG_CHECK+=" | ||
~RESOURCE_COUNTERS | ||
" | ||
fi | ||
|
||
if kernel_is le 3 13; then | ||
CONFIG_CHECK+=" | ||
~NETPRIO_CGROUP | ||
" | ||
else | ||
CONFIG_CHECK+=" | ||
~CGROUP_NET_PRIO | ||
" | ||
fi | ||
|
||
if kernel_is lt 4 5; then | ||
CONFIG_CHECK+=" | ||
~MEMCG_KMEM | ||
" | ||
ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional" | ||
fi | ||
|
||
if kernel_is lt 4 7; then | ||
CONFIG_CHECK+=" | ||
~DEVPTS_MULTIPLE_INSTANCES | ||
" | ||
fi | ||
|
||
if use aufs; then | ||
CONFIG_CHECK+=" | ||
~AUFS_FS | ||
~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY | ||
" | ||
ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3" | ||
fi | ||
|
||
if use btrfs; then | ||
CONFIG_CHECK+=" | ||
~BTRFS_FS | ||
~BTRFS_FS_POSIX_ACL | ||
" | ||
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 | ||
|
||
# create docker group for the code checking for it in /etc/group | ||
enewgroup docker | ||
} | ||
|
||
src_compile() { | ||
export GOPATH="${WORKDIR}/${P}" | ||
|
||
# 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 | ||
|
||
# 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='' | ||
for gd in aufs btrfs device-mapper overlay; do | ||
if ! use $gd; then | ||
DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" | ||
fi | ||
done | ||
|
||
for tag in apparmor pkcs11 seccomp; do | ||
if use $tag; then | ||
DOCKER_BUILDTAGS+=" $tag" | ||
fi | ||
done | ||
|
||
pushd components/engine || die | ||
|
||
if use hardened; 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-daemon || die | ||
grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed' | ||
fi | ||
|
||
# build daemon | ||
VERSION="$(cat ../../VERSION)" \ | ||
./hack/make.sh dynbinary || die 'dynbinary failed' | ||
|
||
popd || die # components/engine | ||
|
||
pushd components/cli || die | ||
|
||
# build cli | ||
emake \ | ||
LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \ | ||
VERSION="$(cat ../../VERSION)" \ | ||
GITCOMMIT="${DOCKER_GITCOMMIT}" \ | ||
DISABLE_WARN_OUTSIDE_CONTAINER=1 \ | ||
dynbinary || die | ||
|
||
# build man pages | ||
go build -o gen-manpages github.com/docker/cli/man || die | ||
./gen-manpages --root . --target ./man/man1 || die | ||
./man/md2man-all.sh -q || die | ||
rm gen-manpages || die | ||
# see "components/cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man) | ||
|
||
popd || die # components/cli | ||
} | ||
|
||
src_install() { | ||
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 | ||
|
||
systemd_dounit contrib/init/systemd/docker.{service,socket} | ||
|
||
udev_dorules contrib/udev/*.rules | ||
|
||
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 | ||
|
||
# note: intentionally not using "doins" so that we preserve +x bits | ||
dodir /usr/share/${PN}/contrib | ||
cp -R contrib/* "${ED}/usr/share/${PN}/contrib" | ||
popd || die # components/engine | ||
|
||
pushd components/cli || die | ||
|
||
newbin build/docker-* docker | ||
|
||
doman man/man*/* | ||
|
||
dobashcomp contrib/completion/bash/* | ||
insinto /usr/share/fish/vendor_completions.d/ | ||
doins contrib/completion/fish/docker.fish | ||
insinto /usr/share/zsh/site-functions | ||
doins contrib/completion/zsh/_* | ||
popd || die # components/cli | ||
} | ||
|
||
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 | ||
elog "To use Docker as a non-root user, add yourself to the 'docker' group:" | ||
elog " usermod -aG docker youruser" | ||
elog | ||
|
||
elog " Devicemapper storage driver has been deprecated" | ||
elog " It will be removed in a future release" | ||
} |