summaryrefslogtreecommitdiff
path: root/app-emulation/cri-o
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/cri-o')
-rw-r--r--app-emulation/cri-o/Manifest5
-rw-r--r--app-emulation/cri-o/cri-o-1.10.1.ebuild105
-rw-r--r--app-emulation/cri-o/files/cri-o.logrotated7
-rw-r--r--app-emulation/cri-o/files/crio.initd34
-rw-r--r--app-emulation/cri-o/metadata.xml31
5 files changed, 182 insertions, 0 deletions
diff --git a/app-emulation/cri-o/Manifest b/app-emulation/cri-o/Manifest
new file mode 100644
index 000000000000..1c075cab940f
--- /dev/null
+++ b/app-emulation/cri-o/Manifest
@@ -0,0 +1,5 @@
+AUX cri-o.logrotated 81 BLAKE2B f17d96920c3e9bbfe68a38fcae49be999c0edcea085ebbc1f09585284c5b7930c185d5cd0ef6c2f7de5db2a6af80355518628a050c1cb0639ccf3b53c6c338da SHA512 1115228546a696eeebeb6d4b3e5c3152af0c99a2559097fc5829d8b416d979c457b4b1789e0120054babf57f585d3f63cbe49949d40417ae7aab613184bf4516
+AUX crio.initd 838 BLAKE2B 8e27bb563e897d28f29e2c61501aee92a0d271b1352e382e9003c9a95dc8752d2d3b35aaab5fc523c659628e8eaa33853d187d865975c47b9ff4d5bea3b8ef5c SHA512 d21a7af17b1a2e763d3ad847089b9596866e23db29a78df0aea4c326ab83a95045e1892bdda802f421396a245cbaa5da841ee3bd280b139f199fbf0c8715773c
+DIST cri-o-1.10.1.tar.gz 5159128 BLAKE2B bd6727bedb1f1ca99771995817897721b340331a28dc00646fe6b13765328bbba363aeba4490c12c8d38f9e204e6c744c38f43b4fbbd39d2b44c95be0681475b SHA512 dc85a94cf980ba11a2213e7cec73eeb78460a6a14c50f02f8772ac0d0fe179374d88de01c72f24506a9f1a61db6bf6738114c8944631f76906f6e42f9cf35bde
+EBUILD cri-o-1.10.1.ebuild 2849 BLAKE2B 63e902a0a6aac1225b0c2f3554aa8f10694f679ca30a45594033e9e559cf4ec96da65c2a92de12904e2d86a2b5b1fb8a5b561deb6ac2653ed3325b8b68e2fabe SHA512 2f0f0b218e2e8fcbeeda327af2a371cc70710a507d521b9ca836db3d9c42d4ea6700c10aa2eb3e531b8e8ef7ba5660a9b868dc4270768fe6162a50cab169434b
+MISC metadata.xml 1010 BLAKE2B 1866fa273d85787041dbe44053fa0482d89b069f11399a0b3a044f91213dea2c2349bb7c935132cb5dc06f99bd74b9f857d17e5922a5287ca900397cbe9669d8 SHA512 df0a358c7623058d3484c4313a29c4fd1ae78ebda96f882cdf4c6108cddb41be10e19068172776dc9b23ed1c3aa5173c285b5aeb267a82e64ce1524eb580bb13
diff --git a/app-emulation/cri-o/cri-o-1.10.1.ebuild b/app-emulation/cri-o/cri-o-1.10.1.ebuild
new file mode 100644
index 000000000000..d0e7f55b7bba
--- /dev/null
+++ b/app-emulation/cri-o/cri-o-1.10.1.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGIT_COMMIT="728df92d3e4b77c5a1d3b8e2a5c3c8f3c5bc4f00"
+EGO_PN="github.com/kubernetes-incubator/${PN}"
+
+inherit golang-vcs-snapshot systemd
+
+DESCRIPTION="OCI-based implementation of Kubernetes Container Runtime Interface"
+HOMEPAGE="http://cri-o.io/"
+SRC_URI="https://github.com/kubernetes-incubator/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="btrfs +device-mapper ostree seccomp selinux"
+
+COMMON_DEPEND="
+ app-crypt/gpgme:=
+ app-emulation/runc
+ dev-libs/glib:=
+ dev-libs/libassuan:=
+ dev-libs/libgpg-error:=
+ net-firewall/conntrack-tools
+ net-firewall/iptables
+ net-misc/cni-plugins
+ net-misc/socat
+ sys-apps/iproute2
+ btrfs? ( sys-fs/btrfs-progs )
+ device-mapper? ( sys-fs/lvm2:= )
+ ostree? ( dev-util/ostree )
+ seccomp? ( sys-libs/libseccomp:= )
+ selinux? ( sys-libs/libselinux:= )"
+DEPEND="
+ ${COMMON_DEPEND}
+ dev-go/go-md2man"
+RDEPEND="${COMMON_DEPEND}"
+S="${WORKDIR}/${P}/src/${EGO_PN}"
+
+src_prepare() {
+ default
+
+ sed -e '/^GIT_.*/d' \
+ -e 's/$(GO) build/$(GO) build -v -work -x/' \
+ -e 's/\${GIT_COMMIT}/'${EGIT_COMMIT}'/' \
+ -i Makefile || die
+
+ sed -e 's:/usr/local/bin:/usr/bin:' \
+ -i contrib/systemd/* || die
+}
+
+src_compile() {
+ [[ -f hack/btrfs_installed_tag.sh ]] || die
+ use btrfs || { echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \
+ hack/btrfs_installed_tag.sh || die; }
+
+ [[ -f hack/libdm_installed.sh ]] || die
+ use device-mapper || { echo -e "#!/bin/sh\necho exclude_graphdriver_devicemapper" > \
+ hack/libdm_installed.sh || die; }
+
+ [[ -f hack/ostree_tag.sh ]] || die
+ use ostree || { echo -e "#!/bin/sh\necho containers_image_ostree_stub" > \
+ hack/ostree_tag.sh || die; }
+
+ [[ -f hack/seccomp_tag.sh ]] || die
+ use seccomp || { echo -e "#!/bin/sh\ntrue" > \
+ hack/seccomp_tag.sh || die; }
+
+ [[ -f hack/selinux_tag.sh ]] || die
+ use selinux || { echo -e "#!/bin/sh\ntrue" > \
+ hack/selinux_tag.sh || die; }
+
+ mkdir -p bin || die
+ GOPATH="${WORKDIR}/${P}" GOBIN="${WORKDIR}/${P}/bin" \
+ emake binaries docs
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX="${D}${EPREFIX}/usr" install.bin install.man
+
+ keepdir /etc/crio
+ insinto /etc/crio
+ use seccomp && doins seccomp.json
+
+ "${ED}"/usr/bin/crio --config="" config --default > "${T}"/crio.conf.example || die
+ doins "${T}/crio.conf.example"
+
+ newinitd "${FILESDIR}/crio.initd" crio
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotated" "${PN}"
+
+ # Suppress crio log error messages triggered if these don't exist.
+ keepdir /etc/containers/oci/hooks.d
+ keepdir /usr/share/containers/oci/hooks.d
+
+ # Suppress crio "Missing CNI default network" log message.
+ keepdir /etc/cni/net.d
+ insinto /etc/cni/net.d
+ doins contrib/cni/99-loopback.conf
+
+ systemd_dounit contrib/systemd/*
+}
diff --git a/app-emulation/cri-o/files/cri-o.logrotated b/app-emulation/cri-o/files/cri-o.logrotated
new file mode 100644
index 000000000000..fb0b8b14a8a1
--- /dev/null
+++ b/app-emulation/cri-o/files/cri-o.logrotated
@@ -0,0 +1,7 @@
+/var/log/crio/crio.log {
+ missingok
+ size 5M
+ rotate 3
+ compress
+ copytruncate
+}
diff --git a/app-emulation/cri-o/files/crio.initd b/app-emulation/cri-o/files/crio.initd
new file mode 100644
index 000000000000..723773033f76
--- /dev/null
+++ b/app-emulation/cri-o/files/crio.initd
@@ -0,0 +1,34 @@
+#!/sbin/openrc-run
+# Copyright 2015-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="OCI Kubernetes Container Runtime daemon"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+extra_started_commands="reload"
+command="/usr/bin/${RC_SVCNAME}"
+command_args="${command_args}"
+command_background="true"
+start_stop_daemon_args=" \
+ --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+ --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+ need net
+}
+
+checkconfig() {
+ checkpath --directory --owner root:root --mode 0775 \
+ /var/log/${RC_SVCNAME}
+ checkpath --file --owner root:root --mode 0644 \
+ /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log
+}
+
+start_pre() {
+ checkconfig
+}
+
+reload() {
+ ebegin "Reloading ${RC_SVCNAME}"
+ start-stop-daemon --signal HUP --pidfile "${pidfile}"
+ eend $?
+}
diff --git a/app-emulation/cri-o/metadata.xml b/app-emulation/cri-o/metadata.xml
new file mode 100644
index 000000000000..a18ec9b7d291
--- /dev/null
+++ b/app-emulation/cri-o/metadata.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zmedico@gentoo.org</email>
+ <name>Zac Medico</name>
+ </maintainer>
+ <longdescription lang="en">
+ CRI-O is meant to provide an integration path between
+ OCI conformant runtimes and the kubelet. Specifically, it
+ implements the Kubelet Container Runtime Interface (CRI)
+ using OCI conformant runtimes. The scope of CRI-O is tied to
+ the scope of the CRI.
+ </longdescription>
+ <use>
+ <flag name="btrfs">
+ Enables dependencies for the "btrfs" graph driver, including
+ necessary kernel flags.
+ </flag>
+ <flag name="device-mapper">
+ Enables dependencies for the "devicemapper" graph driver, including
+ necessary kernel flags.
+ </flag>
+ <flag name="ostree">
+ Enables dependencies for handling of OSTree images.
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="github">kubernetes-incubator/cri-o</remote-id>
+ </upstream>
+</pkgmetadata>