summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgy Yakovlev <gyakovlev@gentoo.org>2021-12-18 23:32:50 -0800
committerGeorgy Yakovlev <gyakovlev@gentoo.org>2021-12-18 23:33:00 -0800
commitd0fafc653242b3674ec79cc418870e39de6241ac (patch)
tree2c9b120f4bcc657f0e6c7a24e039d18bb9b20a4f /app-containers/containerd
parentMove {app-emulation -> app-containers}/docker-proxy (diff)
downloadgentoo-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/containerd')
-rw-r--r--app-containers/containerd/Manifest3
-rw-r--r--app-containers/containerd/containerd-1.4.11.ebuild84
-rw-r--r--app-containers/containerd/containerd-1.4.12.ebuild84
-rw-r--r--app-containers/containerd/containerd-1.5.7.ebuild84
-rw-r--r--app-containers/containerd/files/containerd.initd26
-rw-r--r--app-containers/containerd/metadata.xml29
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>