mirror of
https://github.com/flatcar/scripts.git
synced 2025-10-02 19:11:20 +02:00
app-emulation/docker: Sync from Gentoo
For update to docker-20.10.7. gentoo/portage commit 0ed05ce0a8f0d1c3dfa6151e7ebb25b67c4aae16 Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
This commit is contained in:
parent
eb6661756d
commit
ee672bcdb9
@ -1 +1 @@
|
||||
DIST docker-19.03.15.tar.gz 18284803 BLAKE2B a1fac5d841934382d12c781353546b7c7a8167d0f2dc4150659a4aece210ea7361c59de25e3d450dae20fd536ea8dc33a18e55f9565ee4fdc818166810391fbf SHA512 ffd8e683a93a6ce69789603d24457aebe3379594692cb3dadc25bc8d407771a29d76087b0ca70856707f151622b1853f283a1071311c033ff90a1e44b0d9ffbc
|
||||
DIST docker-20.10.7.tar.gz 11077660 BLAKE2B 081b36668ead0fd727ebdabc0d07fdf1992f64e3ab1e7c09933130b37f9ad60876c36d1fcda5619ba1bffac7fadafe63d7fc647868c3c6ba30429487c2ebc31b SHA512 2341faa3ebb903d74fa434712fce45e7acf0423710b97cdca11e3999db2819c4385d9a7fb3850925592f20f02c6261edbade6c9d6a2fefbc32f05a6b44ec3073
|
||||
|
@ -1,17 +0,0 @@
|
||||
## Tips and Tricks
|
||||
|
||||
To hack on docker and develop a patch do these steps:
|
||||
|
||||
```
|
||||
git clone https://github.com/docker/docker
|
||||
cd docker
|
||||
ln -s ../../../../ vendor/src/github.com/docker/docker
|
||||
./hack/make.sh dynbinary
|
||||
```
|
||||
|
||||
Then add some symlinks:
|
||||
|
||||
```
|
||||
ln -s $PWD/bundles/VERSION-OF-DOCKER-dev/dynbinary/docker /usr/local/bin/docker
|
||||
ln -s $PWD/bundles/VERSION-OF-DOCKER-dev/dynbinary/dockerinit /usr/local/bin/dockerinit
|
||||
```
|
@ -1,292 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
CROS_WORKON_PROJECT="flatcar-linux/docker"
|
||||
CROS_WORKON_LOCALNAME="docker"
|
||||
CROS_WORKON_REPO="git://github.com"
|
||||
COREOS_GO_VERSION="go1.7"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
DOCKER_GITCOMMIT="unknown"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
else
|
||||
CROS_WORKON_COMMIT="236043027bc7199ec691f98c49bb2f0ec6a316d5" # coreos-17.03.2-ce
|
||||
DOCKER_GITCOMMIT="${CROS_WORKON_COMMIT:0:7}"
|
||||
KEYWORDS="amd64 arm64"
|
||||
fi
|
||||
|
||||
inherit bash-completion-r1 eutils linux-info multilib systemd udev user cros-workon coreos-go-depend
|
||||
|
||||
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 +journald +selinux"
|
||||
|
||||
# https://github.com/moby/moby/blob/v17.03.2-ce/project/PACKAGERS.md#build-dependencies
|
||||
CDEPEND="
|
||||
>=dev-db/sqlite-3.7.9:3
|
||||
device-mapper? (
|
||||
>=sys-fs/lvm2-2.02.89[thin]
|
||||
)
|
||||
journald? ( >=sys-apps/systemd-225 )
|
||||
seccomp? ( >=sys-libs/libseccomp-2.2.1[static-libs] )
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
|
||||
btrfs? (
|
||||
>=sys-fs/btrfs-progs-3.16.1
|
||||
)
|
||||
"
|
||||
|
||||
# For CoreOS builds coreos-kernel must be installed because this ebuild
|
||||
# checks the kernel config. The kernel config is left by the kernel compile
|
||||
# or an explicit copy when installing binary packages. See coreos-kernel.eclass
|
||||
DEPEND+="sys-kernel/coreos-kernel"
|
||||
|
||||
# https://github.com/moby/moby/blob/v17.03.2-ce/project/PACKAGERS.md#runtime-dependencies
|
||||
# https://github.com/moby/moby/blob/v17.03.2-ce/project/PACKAGERS.md#optional-dependencies
|
||||
# Runc/Containerd: Unfortunately docker does not version the releases, in order to avoid
|
||||
# incompatiblities we depend on snapshots
|
||||
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
|
||||
|
||||
~app-emulation/containerd-0.2.6[seccomp?]
|
||||
~app-emulation/docker-runc-1.0.0_rc2_p136[apparmor?,seccomp?]
|
||||
~app-emulation/docker-proxy-0.8.0_p20161019
|
||||
container-init? ( >=sys-process/tini-0.18.0 )
|
||||
"
|
||||
|
||||
RESTRICT="installsources strip"
|
||||
|
||||
# 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
|
||||
~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
|
||||
~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
|
||||
|
||||
# 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 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() {
|
||||
go_export
|
||||
|
||||
# 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="${CGO_CFLAGS} -I${ROOT}/usr/include"
|
||||
export CGO_LDFLAGS="${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 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-client || die
|
||||
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'
|
||||
grep -q -- '-fno-PIC' hack/make/dynbinary-client || 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
|
||||
|
||||
for tag in apparmor pkcs11 seccomp selinux journald; do
|
||||
if use $tag; then
|
||||
DOCKER_BUILDTAGS+=" $tag"
|
||||
fi
|
||||
done
|
||||
|
||||
# time to build!
|
||||
./hack/make.sh dynbinary || die 'dynbinary failed'
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
newinitd contrib/init/openrc/docker.initd docker
|
||||
newconfd contrib/init/openrc/docker.confd docker
|
||||
|
||||
exeinto /usr/lib/flatcar
|
||||
doexe "${FILESDIR}/dockerd"
|
||||
|
||||
systemd_dounit "${FILESDIR}/docker.service"
|
||||
systemd_dounit "${FILESDIR}/docker.socket"
|
||||
|
||||
insinto /usr/lib/systemd/network
|
||||
doins "${FILESDIR}"/50-docker.network
|
||||
doins "${FILESDIR}"/90-docker-veth.network
|
||||
|
||||
udev_dorules contrib/udev/*.rules
|
||||
|
||||
dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
|
||||
dodoc -r docs/*
|
||||
|
||||
dobashcomp contrib/completion/bash/*
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins contrib/completion/zsh/_*
|
||||
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r contrib/syntax/vim/ftdetect
|
||||
doins -r contrib/syntax/vim/syntax
|
||||
}
|
||||
|
||||
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
|
||||
}
|
@ -1 +0,0 @@
|
||||
docker-9999.ebuild
|
279
sdk_container/src/third_party/coreos-overlay/app-emulation/docker/docker-20.10.7.ebuild
vendored
Normal file
279
sdk_container/src/third_party/coreos-overlay/app-emulation/docker/docker-20.10.7.ebuild
vendored
Normal file
@ -0,0 +1,279 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EGO_PN=github.com/docker/docker
|
||||
GIT_COMMIT=8728dd246c
|
||||
inherit bash-completion-r1 linux-info systemd udev golang-vcs-snapshot
|
||||
|
||||
DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
|
||||
HOMEPAGE="https://www.docker.com/"
|
||||
MY_PV=${PV/_/-}
|
||||
SRC_URI="https://github.com/moby/moby/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm arm64 ppc64 ~x86"
|
||||
IUSE="apparmor aufs btrfs +cli +container-init device-mapper hardened overlay seccomp"
|
||||
|
||||
DEPEND="
|
||||
acct-group/docker
|
||||
>=dev-db/sqlite-3.7.9:3
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
btrfs? ( >=sys-fs/btrfs-progs-3.16.1 )
|
||||
device-mapper? ( >=sys-fs/lvm2-2.02.89[thin] )
|
||||
seccomp? ( >=sys-libs/libseccomp-2.2.1 )
|
||||
"
|
||||
|
||||
# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies
|
||||
# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#optional-dependencies
|
||||
# https://github.com/moby/moby/tree/master//hack/dockerfile/install
|
||||
# make sure docker-proxy is pinned to exact version from ^,
|
||||
# for appropriate branchch/version of course
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
>=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.4.6[apparmor?,btrfs?,device-mapper?,seccomp?]
|
||||
~app-emulation/docker-proxy-0.8.0_p20210525
|
||||
cli? ( app-emulation/docker-cli )
|
||||
container-init? ( >=sys-process/tini-0.19.0[static] )
|
||||
"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
|
||||
BDEPEND="
|
||||
>=dev-lang/go-1.13.12
|
||||
dev-go/go-md2man
|
||||
virtual/pkgconfig
|
||||
"
|
||||
# tests require running dockerd as root and downloading containers
|
||||
RESTRICT="installsources strip test"
|
||||
|
||||
S="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
|
||||
# https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552
|
||||
PATCHES=(
|
||||
"${FILESDIR}/etcd-F_OFD_GETLK-fix.patch"
|
||||
"${FILESDIR}/ppc64-buildmode.patch"
|
||||
)
|
||||
|
||||
# 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
|
||||
~CGROUP_NET_PRIO
|
||||
~KEYS
|
||||
~VETH ~BRIDGE ~BRIDGE_NETFILTER
|
||||
~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE ~NETFILTER_XT_MARK
|
||||
~NETFILTER_NETLINK ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS
|
||||
~IP_NF_NAT ~NF_NAT
|
||||
~POSIX_MQUEUE
|
||||
|
||||
~USER_NS
|
||||
~SECCOMP
|
||||
~CGROUP_PIDS
|
||||
~MEMCG_SWAP
|
||||
|
||||
~BLK_CGROUP ~BLK_DEV_THROTTLING
|
||||
~CGROUP_PERF
|
||||
~CGROUP_HUGETLB
|
||||
~NET_CLS_CGROUP
|
||||
~CFS_BANDWIDTH ~FAIR_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
|
||||
|
||||
~OVERLAY_FS ~!OVERLAY_FS_REDIRECT_DIR
|
||||
~EXT4_FS_SECURITY
|
||||
~EXT4_FS_POSIX_ACL
|
||||
"
|
||||
|
||||
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 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 kernel_is lt 5 1; then
|
||||
CONFIG_CHECK+="
|
||||
~NF_NAT_IPV4
|
||||
~IOSCHED_CFQ
|
||||
~CFQ_GROUP_IOSCHED
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is lt 5 2; then
|
||||
CONFIG_CHECK+="
|
||||
~NF_NAT_NEEDED
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is lt 5 8; then
|
||||
CONFIG_CHECK+="
|
||||
~MEMCG_SWAP_ENABLED
|
||||
"
|
||||
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 is patched to kernel instead of using standalone"
|
||||
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
|
||||
|
||||
linux-info_pkg_setup
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export DOCKER_GITCOMMIT="${GIT_COMMIT}"
|
||||
export GOPATH="${WORKDIR}/${P}"
|
||||
export VERSION=${PV}
|
||||
|
||||
# setup CFLAGS and LDFLAGS for separate build target
|
||||
# see https://github.com/tianon/docker-overlay/pull/10
|
||||
export CGO_CFLAGS="-I${ESYSROOT}/usr/include"
|
||||
export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)"
|
||||
|
||||
# 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 seccomp; do
|
||||
if use $tag; then
|
||||
DOCKER_BUILDTAGS+=" $tag"
|
||||
fi
|
||||
done
|
||||
|
||||
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
|
||||
./hack/make.sh dynbinary || die 'dynbinary failed'
|
||||
}
|
||||
|
||||
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
|
||||
newbin bundles/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/*
|
||||
|
||||
# note: intentionally not using "doins" so that we preserve +x bits
|
||||
dodir /usr/share/${PN}/contrib
|
||||
cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
|
||||
}
|
||||
|
||||
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:"
|
||||
if systemd_is_booted || has_version sys-apps/systemd; then
|
||||
elog " systemctl enable docker.service"
|
||||
else
|
||||
elog " rc-update add docker default"
|
||||
fi
|
||||
elog
|
||||
elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
|
||||
elog ' usermod -aG docker <youruser>'
|
||||
elog
|
||||
|
||||
if use device-mapper; then
|
||||
elog " Devicemapper storage driver has been deprecated"
|
||||
elog " It will be removed in a future release"
|
||||
elog
|
||||
fi
|
||||
|
||||
if use overlay; then
|
||||
elog " Overlay storage driver/USEflag has been deprecated"
|
||||
elog " in favor of overlay2 (enabled unconditionally)"
|
||||
elog
|
||||
fi
|
||||
|
||||
if has_version sys-fs/zfs; then
|
||||
elog " ZFS storage driver is available"
|
||||
elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info"
|
||||
elog
|
||||
fi
|
||||
|
||||
if use cli; then
|
||||
ewarn "Starting with docker 20.10.2, docker has been split into"
|
||||
ewarn "two packages upstream, so Gentoo has followed suit."
|
||||
ewarn
|
||||
ewarn "app-emulation/docker contains the daemon and"
|
||||
ewarn "app-emulation/docker-cli contains the docker command."
|
||||
ewarn
|
||||
ewarn "docker currently installs docker-cli using the cli use flag."
|
||||
ewarn
|
||||
ewarn "This use flag is temporary, so you need to take the"
|
||||
ewarn "following actions:"
|
||||
ewarn
|
||||
ewarn "First, disable the cli use flag for app-emulation/docker"
|
||||
ewarn
|
||||
ewarn "Then, if you need docker-cli and docker on the same machine,"
|
||||
ewarn "run the following command:"
|
||||
ewarn
|
||||
ewarn "# emerge --noreplace docker-cli"
|
||||
ewarn
|
||||
fi
|
||||
}
|
@ -1,327 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
COREOS_GO_PACKAGE="github.com/docker/docker-ce"
|
||||
COREOS_GO_VERSION="go1.13"
|
||||
|
||||
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
|
||||
inherit versionator
|
||||
if [ "$(get_version_component_count)" = 4 ]; then
|
||||
MY_PV="$(replace_version_separator 3 '-')"
|
||||
else
|
||||
MY_PV="$PV"
|
||||
fi
|
||||
DOCKER_GITCOMMIT="6ff149b"
|
||||
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
|
||||
|
||||
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 +journald +selinux"
|
||||
|
||||
# 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] )
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
|
||||
btrfs? (
|
||||
>=sys-fs/btrfs-progs-3.16.1
|
||||
)
|
||||
"
|
||||
|
||||
# For CoreOS builds coreos-kernel must be installed because this ebuild
|
||||
# checks the kernel config. The kernel config is left by the kernel compile
|
||||
# or an explicit copy when installing binary packages. See coreos-kernel.eclass
|
||||
DEPEND+="sys-kernel/coreos-kernel"
|
||||
|
||||
# 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.1.2
|
||||
~app-emulation/docker-runc-1.0.1[apparmor?,seccomp?]
|
||||
~app-emulation/docker-proxy-0.8.0_p20180709
|
||||
container-init? ( >=sys-process/tini-0.18.0 )
|
||||
"
|
||||
|
||||
RESTRICT="installsources strip"
|
||||
|
||||
S="${WORKDIR}/${P}/src/${COREOS_GO_PACKAGE}"
|
||||
|
||||
ENGINE_PATCHES=(
|
||||
"${FILESDIR}/0001-components-engine-fix-name-of-gcc-binary-for-aarch64.patch"
|
||||
)
|
||||
|
||||
# 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_unpack() {
|
||||
if [ -n "$DOCKER_GITCOMMIT" ]; then
|
||||
mkdir -p "${S}"
|
||||
tar --strip-components=1 -C "${S}" -xf "${DISTDIR}/${A}"
|
||||
DOCKER_BUILD_DATE=$(date --reference="${S}/VERSION" +%s)
|
||||
else
|
||||
git-r3_src_unpack
|
||||
DOCKER_GITCOMMIT=$(git -C "${S}" rev-parse HEAD | head -c 7)
|
||||
DOCKER_BUILD_DATE=$(git -C "${S}" log -1 --format="%ct")
|
||||
fi
|
||||
[ "${#ENGINE_PATCHES[@]}" -gt 0 ] && eapply -d"${S}"/components/engine "${ENGINE_PATCHES[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local -x DISABLE_WARN_OUTSIDE_CONTAINER=1
|
||||
go_export
|
||||
export GOPATH="${WORKDIR}/${P}"
|
||||
|
||||
# setup CFLAGS and LDFLAGS for separate build target
|
||||
# see https://github.com/tianon/docker-overlay/pull/10
|
||||
export CGO_CFLAGS="${CGO_CFLAGS} -I${ROOT}/usr/include"
|
||||
export CGO_LDFLAGS="${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 selinux journald; do
|
||||
if use $tag; then
|
||||
DOCKER_BUILDTAGS+=" $tag"
|
||||
fi
|
||||
done
|
||||
|
||||
# need to set go1.13 in DOCKER_BUILDTAGS, to avoid build
|
||||
# failures caused by github.com/pkg/errors >= 0.9.1.
|
||||
DOCKER_BUILDTAGS+=" go1.13"
|
||||
|
||||
pushd components/engine || die
|
||||
|
||||
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
|
||||
|
||||
# build daemon
|
||||
SOURCE_DATE_EPOCH="${DOCKER_BUILD_DATE}" \
|
||||
VERSION="$(<../../VERSION)" \
|
||||
./hack/make.sh dynbinary || die 'dynbinary failed'
|
||||
|
||||
popd || die # components/engine
|
||||
|
||||
pushd components/cli || die
|
||||
|
||||
# Imitating https://github.com/docker/docker-ce/blob/v18.06.3-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 \
|
||||
BUILDTIME="${CLI_BUILDTIME}" \
|
||||
LDFLAGS="$(usex hardened "-extldflags \"-fno-PIC $LDFLAGS\"" '')" \
|
||||
VERSION="$(cat ../../VERSION)" \
|
||||
GITCOMMIT="${DOCKER_GITCOMMIT}" \
|
||||
DISABLE_WARN_OUTSIDE_CONTAINER=1 \
|
||||
dynbinary || die
|
||||
|
||||
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/dynbinary-daemon/dockerd)" dockerd
|
||||
|
||||
newinitd contrib/init/openrc/docker.initd docker
|
||||
newconfd contrib/init/openrc/docker.confd docker
|
||||
|
||||
exeinto /usr/lib/flatcar
|
||||
# Create /usr/lib/flatcar/dockerd for backwards compatibility
|
||||
doexe "${FILESDIR}/dockerd"
|
||||
|
||||
systemd_dounit "${FILESDIR}/docker.service"
|
||||
systemd_dounit "${FILESDIR}/docker.socket"
|
||||
|
||||
insinto /usr/lib/systemd/network
|
||||
doins "${FILESDIR}"/50-docker.network
|
||||
doins "${FILESDIR}"/90-docker-veth.network
|
||||
|
||||
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
|
||||
popd || die # components/engine
|
||||
|
||||
pushd components/cli || die
|
||||
|
||||
newbin build/docker-* docker
|
||||
|
||||
dobashcomp contrib/completion/bash/*
|
||||
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
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
From b45ba164aadfbfd5b1137d57ca5c800d9ec4ed6a Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <b45ba164aadfbfd5b1137d57ca5c800d9ec4ed6a.1574953996.git.dongsu@kinvolk.io>
|
||||
From: Dongsu Park <dongsu@kinvolk.io>
|
||||
Date: Thu, 28 Nov 2019 16:12:41 +0100
|
||||
Subject: [PATCH] components/engine: fix name of gcc binary for aarch64
|
||||
|
||||
---
|
||||
components/engine/hack/make/.binary | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hack/make/.binary b/hack/make/.binary
|
||||
index 53de6749..3c5307ba 100644
|
||||
--- a/hack/make/.binary
|
||||
+++ b/hack/make/.binary
|
||||
@@ -60,7 +60,7 @@ if [ "$(go env GOOS)/$(go env GOARCH)" != "$(go env GOHOSTOS)/$(go env GOHOSTARC
|
||||
esac
|
||||
;;
|
||||
linux/arm64)
|
||||
- export CC=aarch64-linux-gnu-gcc
|
||||
+ export CC=aarch64-cros-linux-gnu-gcc
|
||||
export CGO_ENABLED=1
|
||||
;;
|
||||
linux/amd64)
|
||||
--
|
||||
2.23.0
|
||||
|
@ -1,6 +0,0 @@
|
||||
[Match]
|
||||
Type=bridge
|
||||
Name=docker* br-*
|
||||
|
||||
[Link]
|
||||
Unmanaged=yes
|
@ -1,5 +0,0 @@
|
||||
[Match]
|
||||
Driver=veth
|
||||
|
||||
[Link]
|
||||
Unmanaged=yes
|
@ -1,37 +0,0 @@
|
||||
[Unit]
|
||||
Description=Docker Application Container Engine
|
||||
Documentation=http://docs.docker.com
|
||||
After=containerd.service docker.socket network-online.target
|
||||
Wants=network-online.target
|
||||
Requires=containerd.service docker.socket
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
EnvironmentFile=-/run/flannel/flannel_docker_opts.env
|
||||
Environment=DOCKER_SELINUX=--selinux-enabled=true
|
||||
|
||||
# the default is not to use systemd for cgroups because the delegate issues still
|
||||
# exists and systemd currently does not support the cgroup feature set required
|
||||
# for containers run by docker
|
||||
ExecStart=/usr/bin/dockerd --host=fd:// --containerd=/var/run/docker/libcontainerd/docker-containerd.sock $DOCKER_SELINUX $DOCKER_OPTS $DOCKER_CGROUPS $DOCKER_OPT_BIP $DOCKER_OPT_MTU $DOCKER_OPT_IPMASQ
|
||||
ExecReload=/bin/kill -s HUP $MAINPID
|
||||
LimitNOFILE=1048576
|
||||
# Having non-zero Limit*s causes performance problems due to accounting overhead
|
||||
# in the kernel. We recommend using cgroups to do container-local accounting.
|
||||
LimitNPROC=infinity
|
||||
LimitCORE=infinity
|
||||
# Uncomment TasksMax if your systemd version supports it.
|
||||
# Only systemd 226 and above support this version.
|
||||
TasksMax=infinity
|
||||
TimeoutStartSec=0
|
||||
# set delegate yes so that systemd does not reset the cgroups of docker containers
|
||||
Delegate=yes
|
||||
# kill only the docker process, not all processes in the cgroup
|
||||
KillMode=process
|
||||
# restart the docker process if it exits prematurely
|
||||
Restart=on-failure
|
||||
StartLimitBurst=3
|
||||
StartLimitInterval=60s
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -1,13 +0,0 @@
|
||||
[Unit]
|
||||
Description=Docker Socket for the API
|
||||
PartOf=docker.service
|
||||
|
||||
[Socket]
|
||||
ListenStream=/var/run/docker.sock
|
||||
SocketMode=0660
|
||||
SocketUser=root
|
||||
SocketGroup=docker
|
||||
|
||||
[Install]
|
||||
WantedBy=sockets.target
|
||||
|
@ -1,41 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Wrapper for launching docker daemons with selinux default on
|
||||
# This wrapper script has been deprecated (euank: 2017-05-09) and is retained
|
||||
# for backwards compatibility.
|
||||
|
||||
set -e
|
||||
|
||||
parse_docker_args() {
|
||||
local flag
|
||||
while [[ $# -gt 0 ]]; do
|
||||
flag="$1"
|
||||
shift
|
||||
|
||||
# treat --flag=foo and --flag foo identically
|
||||
if [[ "${flag}" == *=* ]]; then
|
||||
set -- "${flag#*=}" "$@"
|
||||
flag="${flag%=*}"
|
||||
fi
|
||||
|
||||
case "${flag}" in
|
||||
--selinux-enabled)
|
||||
ARG_SELINUX="$1"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
# ignore everything else
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
parse_docker_args "$@"
|
||||
|
||||
USE_SELINUX=""
|
||||
# Do not override selinux if it is already explicitly configured.
|
||||
if [[ -z "${ARG_SELINUX}" ]]; then
|
||||
# If unspecified, default off
|
||||
USE_SELINUX="--selinux-enabled=false"
|
||||
fi
|
||||
|
||||
exec dockerd "$@" ${USE_SELINUX}
|
@ -0,0 +1,28 @@
|
||||
From ec81adb21605acd56b122bc35c53644b13d3ab7e Mon Sep 17 00:00:00 2001
|
||||
From: Moritz Both <mb@aldebaran.de>
|
||||
Date: Sun, 1 Nov 2020 23:20:12 +0100
|
||||
Subject: [PATCH] pkg/fileutil: fix constant for linux locking
|
||||
|
||||
The constant F_OFD_GETLK is 36, not 37, according to
|
||||
/usr/include/bits/fcntl-linux.h
|
||||
Credits go to joakim-tjernlund who digged deep enough
|
||||
to find this.
|
||||
|
||||
Fixes #31182
|
||||
---
|
||||
pkg/fileutil/lock_linux.go | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/pkg/fileutil/lock_linux.go b/pkg/fileutil/lock_linux.go
|
||||
index 939fea62381..004d35fa23b 100644
|
||||
--- a/vendor/github.com/coreos/etcd/pkg/fileutil/lock_linux.go
|
||||
+++ b/vendor/github.com/coreos/etcd/pkg/fileutil/lock_linux.go
|
||||
@@ -29,7 +29,7 @@ import (
|
||||
//
|
||||
// constants from /usr/include/bits/fcntl-linux.h
|
||||
const (
|
||||
- F_OFD_GETLK = 37
|
||||
+ F_OFD_GETLK = 36
|
||||
F_OFD_SETLK = 37
|
||||
F_OFD_SETLKW = 38
|
||||
)
|
30
sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/ppc64-buildmode.patch
vendored
Normal file
30
sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/ppc64-buildmode.patch
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
From c4135e37e54a6480abfe18746f227f05cb9269ab Mon Sep 17 00:00:00 2001
|
||||
From: Georgy Yakovlev <gyakovlev@gentoo.org>
|
||||
Date: Thu, 10 Jun 2021 16:19:22 -0700
|
||||
Subject: [PATCH] don't use buildmode=pie on ppc64
|
||||
|
||||
It's already omitted for ppc64 in
|
||||
hack/dockerfile/install/install.sh
|
||||
not using wildcard, because GOARCH=ppc64le supports pie
|
||||
|
||||
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
|
||||
---
|
||||
hack/make/.binary | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hack/make/.binary b/hack/make/.binary
|
||||
index 5ea3e373f2..7a911de15a 100644
|
||||
--- a/hack/make/.binary
|
||||
+++ b/hack/make/.binary
|
||||
@@ -70,7 +70,7 @@ hash_files() {
|
||||
|
||||
# -buildmode=pie is not supported on Windows and Linux on mips and riscv64.
|
||||
case "$(go env GOOS)/$(go env GOARCH)" in
|
||||
- windows/* | linux/mips* | linux/riscv*) ;;
|
||||
+ windows/* | linux/mips* | linux/riscv* | linux/ppc64) ;;
|
||||
|
||||
*)
|
||||
BUILDFLAGS+=("-buildmode=pie")
|
||||
--
|
||||
2.32.0
|
||||
|
@ -8,17 +8,13 @@
|
||||
scale, in production, on VMs, bare metal, OpenStack clusters, public
|
||||
clouds and more.
|
||||
</longdescription>
|
||||
<maintainer type="person">
|
||||
<email>admwiggin@gmail.com</email>
|
||||
<name>Tianon</name>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>williamh@gentoo.org</email>
|
||||
<name>William Hubbs</name>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>mrueg@gentoo.org</email>
|
||||
<name>Manuel Rüger</name>
|
||||
<email>gyakovlev@gentoo.org</email>
|
||||
<name>Georgy Yakovlev</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="aufs">
|
||||
@ -31,6 +27,12 @@
|
||||
<flag name="btrfs">
|
||||
Enables dependencies for the "btrfs" graph driver, including
|
||||
necessary kernel flags.
|
||||
</flag>
|
||||
<flag name="cli">
|
||||
This is a temporary use flag which pulls in
|
||||
app-emulation/docker-cli, the docker command line client.
|
||||
This flag is here to assist in the transition to split packages
|
||||
and will be removed in a future release.
|
||||
</flag>
|
||||
<flag name="container-init">
|
||||
Makes the a staticly-linked init system tini available inside a
|
||||
@ -44,11 +46,8 @@
|
||||
Enables dependencies for the "overlay" graph driver, including
|
||||
necessary kernel flags.
|
||||
</flag>
|
||||
<flag name="pkcs11">
|
||||
Enables pkcs-11 support.
|
||||
</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">docker/docker</remote-id>
|
||||
<remote-id type="github">moby/moby</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
Loading…
x
Reference in New Issue
Block a user