diff options
author | Zac Medico <zmedico@gentoo.org> | 2018-06-03 22:04:17 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2018-06-03 23:28:42 -0700 |
commit | 43081b4c1a5db43271206f712a11d68f814d0bc0 (patch) | |
tree | e2d7ec39f47c09ea760e5e77366a1896b77e3686 /app-emulation | |
parent | app-dicts/myspell-cy: stable 20130708 for ia64, bug #657312 (diff) | |
download | gentoo-43081b4c1a5db43271206f712a11d68f814d0bc0.tar.gz gentoo-43081b4c1a5db43271206f712a11d68f814d0bc0.tar.bz2 gentoo-43081b4c1a5db43271206f712a11d68f814d0bc0.zip |
app-emulation/cri-o: new package
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Diffstat (limited to 'app-emulation')
-rw-r--r-- | app-emulation/cri-o/Manifest | 1 | ||||
-rw-r--r-- | app-emulation/cri-o/cri-o-1.10.1.ebuild | 104 | ||||
-rw-r--r-- | app-emulation/cri-o/files/cri-o.logrotated | 7 | ||||
-rw-r--r-- | app-emulation/cri-o/files/crio.initd | 34 | ||||
-rw-r--r-- | app-emulation/cri-o/metadata.xml | 31 |
5 files changed, 177 insertions, 0 deletions
diff --git a/app-emulation/cri-o/Manifest b/app-emulation/cri-o/Manifest new file mode 100644 index 000000000000..326f71beaf21 --- /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 000000000000..675ac651d89a --- /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 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> |