blob: 44914c23aa3300ba168e3f49600f1b3c285cabc5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=9
EGIT_COMMIT=dcd680fd83e792a9b625d38cc03c609722bd0baf
inherit go-module
DESCRIPTION="OCI-based implementation of Kubernetes Container Runtime Interface"
HOMEPAGE="https://cri-o.io/"
SRC_URI="https://github.com/cri-o/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
IUSE="btrfs +device-mapper selinux systemd"
DEPEND="
app-crypt/gpgme:=
app-containers/conmon
>=app-containers/container-libs-0.68.0
app-containers/runc
dev-libs/glib:=
dev-libs/libassuan:=
dev-libs/libgpg-error:=
net-firewall/conntrack-tools
net-firewall/iptables
app-containers/cni-plugins
net-misc/socat
sys-apps/iproute2
sys-libs/libseccomp:=
btrfs? ( sys-fs/btrfs-progs )
device-mapper? ( sys-fs/lvm2:= )
selinux? ( sys-libs/libselinux:= )
systemd? ( sys-apps/systemd:= )
"
RDEPEND="${DEPEND}
!<app-containers/podman-1.3.2-r1
selinux? ( sec-policy/selinux-crio )
"
BDEPEND="
dev-go/go-md2man
>=dev-lang/go-1.26.4
sys-apps/which
"
src_prepare() {
default
echo ".NOTPARALLEL: binaries docs" >> Makefile || die
sed -e '/STRIP/d' -e 's/ -Werror / /' -i pinns/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/selinux_tag.sh ]] || die
use selinux || { echo -e "#!/bin/sh\ntrue" > \
hack/selinux_tag.sh || die; }
mkdir -p bin || die
emake all \
GOBIN="${S}/bin" \
GO_BUILD="go build ${GOFLAGS}" \
BUILD_COMMIT="${EGIT_COMMIT}" \
SHRINKFLAGS="-w" \
GO_MD2MAN="$(which go-md2man)"
}
src_install() {
emake install install.config install.systemd \
DESTDIR="${D}" \
BUILD_COMMIT="${EGIT_COMMIT}" \
GO_MD2MAN="$(which go-md2man)" \
PREFIX="${D}${EPREFIX}/usr"
keepdir /etc/crio
mv "${ED}/etc/crio/crio.conf"{,.example} || die
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.conflist
dosym -r /usr/share/containers/policy.json /etc/containers/policy.json #979676
}
|