diff options
author | Georgy Yakovlev <gyakovlev@gentoo.org> | 2021-12-18 23:32:50 -0800 |
---|---|---|
committer | Georgy Yakovlev <gyakovlev@gentoo.org> | 2021-12-18 23:33:00 -0800 |
commit | d0fafc653242b3674ec79cc418870e39de6241ac (patch) | |
tree | 2c9b120f4bcc657f0e6c7a24e039d18bb9b20a4f /app-containers | |
parent | Move {app-emulation -> app-containers}/docker-proxy (diff) | |
download | gentoo-d0fafc653242b3674ec79cc418870e39de6241ac.tar.gz gentoo-d0fafc653242b3674ec79cc418870e39de6241ac.tar.bz2 gentoo-d0fafc653242b3674ec79cc418870e39de6241ac.zip |
Move {app-emulation -> app-containers}/containerd
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
Diffstat (limited to 'app-containers')
-rw-r--r-- | app-containers/containerd/Manifest | 3 | ||||
-rw-r--r-- | app-containers/containerd/containerd-1.4.11.ebuild | 84 | ||||
-rw-r--r-- | app-containers/containerd/containerd-1.4.12.ebuild | 84 | ||||
-rw-r--r-- | app-containers/containerd/containerd-1.5.7.ebuild | 84 | ||||
-rw-r--r-- | app-containers/containerd/files/containerd.initd | 26 | ||||
-rw-r--r-- | app-containers/containerd/metadata.xml | 29 |
6 files changed, 310 insertions, 0 deletions
diff --git a/app-containers/containerd/Manifest b/app-containers/containerd/Manifest new file mode 100644 index 000000000000..afccf8f9a0b7 --- /dev/null +++ b/app-containers/containerd/Manifest @@ -0,0 +1,3 @@ +DIST containerd-1.4.11.tar.gz 6406769 BLAKE2B a4882223e2f71944a4d46fb0500a95248cfa33735447952f94c7d7350c2cb62b4911adc77f96559116cca462be02b7270185a0a3dfed5ce4c530465cca7e2078 SHA512 16aa6ae4209939754e122545b454d8b25027a3621464a4b4e0379480b35adf0efb318271f82cf2b959a62fffe531979c9bdfee9ac7d47d4b33269a6bafe2d070 +DIST containerd-1.4.12.tar.gz 6408402 BLAKE2B 559164a9d8680edea52040690da8e9b45777a39e471b1a7cc56ff4cf207cee7c83dc73969a8868db5d531f6e4e27cc7a975f073ffcf7f9c2768858b1a4001ddf SHA512 52dc4b0344eb4c6a6f1cc5690ff0c70ee052ef05c02300ed4a806458c40bb1970c26b374b0733b2c30a05c04a731d62a7c4206b1d768075d51c202912efd32b1 +DIST containerd-1.5.7.tar.gz 7714453 BLAKE2B 621b6527814665432c52e72263da371840a183aa65f621a686111b59ee48e85dd96919abd35f069476b97858a8112d3c92b03afbe42d57495649ca0d2af2fd50 SHA512 ce0d9d355b4a6142569690a9fcde8cd07de20b5788098f1184a728106a60dd11a437c87499a97af0c147b14372c2bca4daa823ea470f10b5e1b8a1e34ba530b0 diff --git a/app-containers/containerd/containerd-1.4.11.ebuild b/app-containers/containerd/containerd-1.4.11.ebuild new file mode 100644 index 000000000000..d2038dd4a85c --- /dev/null +++ b/app-containers/containerd/containerd-1.4.11.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CONTAINERD_COMMIT=5b46e404f6b9f661a205e28d59c982d3634148f8 +EGO_PN="github.com/containerd/${PN}" +inherit golang-vcs-snapshot + +DESCRIPTION="A daemon to control runC" +HOMEPAGE="https://containerd.io/" +SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ppc64 ~x86" +IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test" + +DEPEND=" + btrfs? ( sys-fs/btrfs-progs ) + seccomp? ( sys-libs/libseccomp ) +" + +# recommended version of runc is found in script/setup/runc-version +RDEPEND=" + ${DEPEND} + ~app-emulation/runc-1.0.2 +" + +BDEPEND=" + dev-go/go-md2man + virtual/pkgconfig + test? ( ${RDEPEND} ) +" + +# tests require root or docker +# upstream does not recommend stripping binary +RESTRICT+=" strip test" + +S="${WORKDIR}/${P}/src/${EGO_PN}" + +src_prepare() { + default + sed -i -e "s/git describe --match.*$/echo ${PV})/"\ + -e "s/git rev-parse HEAD.*$/echo ${CONTAINERD_COMMIT})/"\ + -e "s/-s -w//" \ + Makefile || die +} + +src_compile() { + local options=( + $(usev apparmor) + $(usex btrfs "" "no_btrfs") + $(usex cri "" "no_cri") + $(usex device-mapper "" "no_devmapper") + $(usev seccomp) + $(usev selinux) + ) + + myemakeargs=( + BUILDTAGS="${options[*]}" + LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" + ) + + export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor + export GOFLAGS="-v -x -mod=vendor" + # race condition in man target https://bugs.gentoo.org/765100 + emake "${myemakeargs[@]}" man -j1 #nowarn + emake "${myemakeargs[@]}" all +} + +src_install() { + dobin bin/* + doman man/* + newinitd "${FILESDIR}"/${PN}.initd "${PN}" + keepdir /var/lib/containerd + + # we already installed manpages, remove markdown source + # before installing docs directory + rm -r docs/man || die + + local DOCS=( README.md PLUGINS.md docs/. ) + einstalldocs +} diff --git a/app-containers/containerd/containerd-1.4.12.ebuild b/app-containers/containerd/containerd-1.4.12.ebuild new file mode 100644 index 000000000000..10c53e0472be --- /dev/null +++ b/app-containers/containerd/containerd-1.4.12.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CONTAINERD_COMMIT=7b11cfaabd73bb80907dd23182b9347b4245eb5d +EGO_PN="github.com/containerd/${PN}" +inherit golang-vcs-snapshot + +DESCRIPTION="A daemon to control runC" +HOMEPAGE="https://containerd.io/" +SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test" + +DEPEND=" + btrfs? ( sys-fs/btrfs-progs ) + seccomp? ( sys-libs/libseccomp ) +" + +# recommended version of runc is found in script/setup/runc-version +RDEPEND=" + ${DEPEND} + ~app-emulation/runc-1.0.2 +" + +BDEPEND=" + dev-go/go-md2man + virtual/pkgconfig + test? ( ${RDEPEND} ) +" + +# tests require root or docker +# upstream does not recommend stripping binary +RESTRICT+=" strip test" + +S="${WORKDIR}/${P}/src/${EGO_PN}" + +src_prepare() { + default + sed -i -e "s/git describe --match.*$/echo ${PV})/"\ + -e "s/git rev-parse HEAD.*$/echo ${CONTAINERD_COMMIT})/"\ + -e "s/-s -w//" \ + Makefile || die +} + +src_compile() { + local options=( + $(usev apparmor) + $(usex btrfs "" "no_btrfs") + $(usex cri "" "no_cri") + $(usex device-mapper "" "no_devmapper") + $(usev seccomp) + $(usev selinux) + ) + + myemakeargs=( + BUILDTAGS="${options[*]}" + LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" + ) + + export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor + export GOFLAGS="-v -x -mod=vendor" + # race condition in man target https://bugs.gentoo.org/765100 + emake "${myemakeargs[@]}" man -j1 #nowarn + emake "${myemakeargs[@]}" all +} + +src_install() { + dobin bin/* + doman man/* + newinitd "${FILESDIR}"/${PN}.initd "${PN}" + keepdir /var/lib/containerd + + # we already installed manpages, remove markdown source + # before installing docs directory + rm -r docs/man || die + + local DOCS=( README.md PLUGINS.md docs/. ) + einstalldocs +} diff --git a/app-containers/containerd/containerd-1.5.7.ebuild b/app-containers/containerd/containerd-1.5.7.ebuild new file mode 100644 index 000000000000..03b79d4159d6 --- /dev/null +++ b/app-containers/containerd/containerd-1.5.7.ebuild @@ -0,0 +1,84 @@ +# Copyright 2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +GIT_REVISION=8686ededfc90076914c5238eb96c883ea093a8ba +inherit go-module systemd + +DESCRIPTION="A daemon to control runC" +HOMEPAGE="https://containerd.io/" +SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test" + +DEPEND=" + btrfs? ( sys-fs/btrfs-progs ) + seccomp? ( sys-libs/libseccomp ) +" + +# recommended version of runc is found in script/setup/runc-version +RDEPEND=" + ${DEPEND} + ~app-emulation/runc-1.0.2 +" + +BDEPEND=" + dev-go/go-md2man + virtual/pkgconfig +" + +# tests require root or docker +# upstream does not recommend stripping binary +RESTRICT+=" strip test" + +src_prepare() { + default + sed -i \ + -e "s/-s -w//" \ + Makefile || die + sed -i \ + -e "s:/usr/local:/usr:" \ + containerd.service || die +} + +src_compile() { + local options=( + $(usev apparmor) + $(usex btrfs "" "no_btrfs") + $(usex cri "" "no_cri") + $(usex device-mapper "" "no_devmapper") + $(usev seccomp) + $(usev selinux) + ) + + myemakeargs=( + BUILDTAGS="${options[*]}" + LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" + REVISION="${GIT_REVISION}" + VERSION=v${PV} + ) + + # race condition in man target https://bugs.gentoo.org/765100 + # we need to explicitly specify GOFLAGS for "go run" to use vendor source + emake "${myemakeargs[@]}" man -j1 #nowarn + emake "${myemakeargs[@]}" all + +} + +src_install() { + dobin bin/* + doman man/* + newinitd "${FILESDIR}"/${PN}.initd "${PN}" + systemd_dounit containerd.service + keepdir /var/lib/containerd + + # we already installed manpages, remove markdown source + # before installing docs directory + rm -r docs/man || die + + local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. ) + einstalldocs +} diff --git a/app-containers/containerd/files/containerd.initd b/app-containers/containerd/files/containerd.initd new file mode 100644 index 000000000000..6536fc9ef209 --- /dev/null +++ b/app-containers/containerd/files/containerd.initd @@ -0,0 +1,26 @@ +#!/sbin/openrc-run +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Containerd container runtime" +command="/usr/bin/containerd" +command_args="${command_args:-}" +command_background="true" +pidfile="${pidfile:-/run/${RC_SVCNAME}.pid}" +start_stop_daemon_args="--stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log" + +start_pre() { + checkpath -m 0750 -d "/var/log/${RC_SVCNAME}" + + ulimit -n 1048576 + + # Having non-zero limits causes performance problems due to accounting overhead + # in the kernel. We recommend using cgroups to do container-local accounting. + ulimit -u unlimited + + return 0 +} + +start_post() { + ewaitfile 5 /run/containerd/containerd.sock +} diff --git a/app-containers/containerd/metadata.xml b/app-containers/containerd/metadata.xml new file mode 100644 index 000000000000..5641ef372193 --- /dev/null +++ b/app-containers/containerd/metadata.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <longdescription> + Containerd is a daemon with an API and a command line client, to manage + containers on one machine. It uses runC to run containers according to + the OCI specification. Containerd has advanced features such as seccomp + and user namespace support as well as checkpoint and restore for cloning + and live migration of containers. + </longdescription> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <maintainer type="person"> + <email>gyakovlev@gentoo.org</email> + <name>Georgy Yakovlev</name> + </maintainer> + <use> + <flag name="apparmor">Support for AppArmor</flag> + <flag name="btrfs">Support for BTRFS snapshot driver</flag> + <flag name="cri">Support for Kubernetes CRI</flag> + <flag name="device-mapper">Support for device mapper snapshot driver</flag> + </use> + <upstream> + <remote-id type="github">containerd/containerd</remote-id> + <remote-id type="cpe">cpe:/a:linuxfoundation:containerd</remote-id> + </upstream> +</pkgmetadata> |