forked from cri-o/packaging
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcri-o.spec
145 lines (116 loc) · 4.63 KB
/
cri-o.spec
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
%global debug_package %{nil}
%undefine _missing_build_ids_terminate_build
Name: cri-o
Version: {{ .RPMVersion }}
Release: {{ .Revision }}
Summary: Open Container Initiative-based implementation of Kubernetes Container Runtime Interface
Packager: Kubernetes Authors <[email protected]>
License: Apache-2.0
URL: https://kubernetes.io
Source0: %{name}_%{version}.orig.tar.gz
BuildRequires: sed
BuildRequires: systemd
%{?systemd_requires}
%if "%{_vendor}" == "debbuild"
Group: admin
BuildRequires: systemd-deb-macros
# The _unitdir macro does not exist on debbuild
%define _unitdir %{_prefix}/lib/systemd/system
Recommends: kubernetes-cni
%else
BuildRequires: systemd-rpm-macros
Recommends: kubernetes-cni
%endif
Requires: iptables
%description
%{summary}.
%prep
%setup -q -c
%build
# Nothing to build
%install
%define archive_root "$(uname -m)"/cri-o
cp %{archive_root}/LICENSE .
cp %{archive_root}/README.md .
# Directories
install -dp %{buildroot}%{_sharedstatedir}/crio
# Binaries
install -dp %{buildroot}%{_bindir}
install -p -m 755 %{archive_root}/bin/crio %{buildroot}%{_bindir}/crio
install -p -m 755 %{archive_root}/bin/pinns %{buildroot}%{_bindir}/pinns
install -p -m 755 %{archive_root}/bin/crio-crun %{buildroot}%{_bindir}/crio-crun
install -p -m 755 %{archive_root}/bin/crio-runc %{buildroot}%{_bindir}/crio-runc
install -p -m 755 %{archive_root}/bin/crio-conmon %{buildroot}%{_bindir}/crio-conmon
install -p -m 755 %{archive_root}/bin/crio-conmonrs %{buildroot}%{_bindir}/crio-conmonrs
# Completions
install -d -m 755 %{buildroot}%{_datadir}/bash-completion/completions
install -D -m 644 -t %{buildroot}%{_datadir}/bash-completion/completions %{archive_root}/completions/bash/crio
install -d -m 755 %{buildroot}%{_datadir}/fish/completions
install -D -m 644 -t %{buildroot}%{_datadir}/fish/completions %{archive_root}/completions/fish/crio.fish
install -d -m 755 %{buildroot}%{_datadir}/zsh/site-functions
install -D -m 644 -t %{buildroot}%{_datadir}/zsh/site-functions %{archive_root}/completions/zsh/_crio
# Configurations
install -dp %{buildroot}%{_sysconfdir}/containers
install -dp %{buildroot}%{_sysconfdir}/containers/registries.conf.d
install -p -m 644 %{archive_root}/contrib/registries.conf %{buildroot}%{_sysconfdir}/containers/registries.conf.d/crio.conf
install -p -m 644 %{archive_root}/etc/crictl.yaml %{buildroot}%{_sysconfdir}/crictl.yaml
install -dp %{buildroot}%{_sysconfdir}/crio/crio.conf.d
install -p -m 644 %{archive_root}/etc/10-crio.conf %{buildroot}%{_sysconfdir}/crio/crio.conf.d/10-crio.conf
install -p -m 644 %{archive_root}/contrib/policy.json %{buildroot}%{_sysconfdir}/crio/policy.json
install -dp %{buildroot}%{_datadir}/oci-umount/oci-umount.d
install -p -m 644 %{archive_root}/etc/crio-umount.conf %{buildroot}%{_datadir}/oci-umount/oci-umount.d/crio-umount.conf
install -dp %{buildroot}%{_sysconfdir}/cni/net.d
install -p -m 644 %{archive_root}/contrib/11-crio-ipv4-bridge.conflist %{buildroot}%{_sysconfdir}/cni/net.d/11-crio-ipv4-bridge.conflist
# Fix the prefix in crio.service
sed -i 's;/usr/local/bin;/usr/bin;g' %{archive_root}/contrib/crio.service
install -D -m 644 -t %{buildroot}%{_unitdir} %{archive_root}/contrib/crio.service
# Docs
install -D -m 644 -t %{buildroot}%{_mandir}/man5 %{archive_root}/man/crio.conf.5
install -D -m 644 -t %{buildroot}%{_mandir}/man5 %{archive_root}/man/crio.conf.d.5
install -D -m 644 -t %{buildroot}%{_mandir}/man8 %{archive_root}/man/crio.8
%post
%systemd_post crio.service
%preun
%systemd_preun crio.service
%postun
%systemd_postun_with_restart crio.service
%files
# Directories
%dir %{_sharedstatedir}/crio
# Binaries
%{_bindir}/crio
%{_bindir}/crio-conmon
%{_bindir}/crio-conmonrs
%{_bindir}/crio-crun
%{_bindir}/crio-runc
%{_bindir}/pinns
# Completions
%{_datadir}/bash-completion/completions/crio
%dir %{_datadir}/fish
%dir %{_datadir}/fish/completions
%{_datadir}/fish/completions/crio.fish
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_crio
# Configurations
%dir %{_sysconfdir}/containers
%dir %{_sysconfdir}/containers/registries.conf.d
%config(noreplace) %{_sysconfdir}/containers/registries.conf.d/crio.conf
%config(noreplace) %{_sysconfdir}/crictl.yaml
%dir %{_sysconfdir}/cni
%dir %{_sysconfdir}/cni/net.d
%config(noreplace) %{_sysconfdir}/cni/net.d/11-crio-ipv4-bridge.conflist
%{_unitdir}/crio.service
%dir %{_sysconfdir}/crio
%dir %{_sysconfdir}/crio/crio.conf.d
%{_sysconfdir}/crio/crio.conf.d/10-crio.conf
%{_sysconfdir}/crio/policy.json
%dir %{_datadir}/oci-umount
%dir %{_datadir}/oci-umount/oci-umount.d
%{_datadir}/oci-umount/oci-umount.d/crio-umount.conf
# Docs
%{_mandir}/man5/crio.conf*5*
%{_mandir}/man8/crio*.8*
%license LICENSE
%doc README.md
%changelog