commit:     43081b4c1a5db43271206f712a11d68f814d0bc0
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Mon Jun  4 05:04:17 2018 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon Jun  4 06:28:42 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43081b4c

app-emulation/cri-o: new package

Package-Manager: Portage-2.3.40, Repoman-2.3.9

 app-emulation/cri-o/Manifest               |   1 +
 app-emulation/cri-o/cri-o-1.10.1.ebuild    | 104 +++++++++++++++++++++++++++++
 app-emulation/cri-o/files/cri-o.logrotated |   7 ++
 app-emulation/cri-o/files/crio.initd       |  34 ++++++++++
 app-emulation/cri-o/metadata.xml           |  31 +++++++++
 5 files changed, 177 insertions(+)

diff --git a/app-emulation/cri-o/Manifest b/app-emulation/cri-o/Manifest
new file mode 100644
index 00000000000..326f71beaf2
--- /dev/null
+++ b/app-emulation/cri-o/Manifest
@@ -0,0 +1 @@
+DIST cri-o-1.10.1.tar.gz 5159128 BLAKE2B 
bd6727bedb1f1ca99771995817897721b340331a28dc00646fe6b13765328bbba363aeba4490c12c8d38f9e204e6c744c38f43b4fbbd39d2b44c95be0681475b
 SHA512 
dc85a94cf980ba11a2213e7cec73eeb78460a6a14c50f02f8772ac0d0fe179374d88de01c72f24506a9f1a61db6bf6738114c8944631f76906f6e42f9cf35bde

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 00000000000..675ac651d89
--- /dev/null
+++ b/app-emulation/cri-o/cri-o-1.10.1.ebuild
@@ -0,0 +1,104 @@
+# 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:=
+       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 00000000000..fb0b8b14a8a
--- /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 00000000000..723773033f7
--- /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 00000000000..a18ec9b7d29
--- /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>[email protected]</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>

Reply via email to