2 # - package static libs
3 # /usr/lib/compel/fds.lib.a
4 # /usr/lib/compel/scripts/compel-pack.lds.S
5 # /usr/lib/compel/std.lib.a
6 # /usr/lib64/libcompel.a
10 %bcond_with tests # build and run tests (requires root)
12 Summary: Checkpoint/restore functionality for Linux in userspace
13 Summary(pl.UTF-8): Funkcja checkpoint/restore w przestrzeni użytkownika dla Linuksa
17 License: GPL v2 (tools), LGPL v2.1 (library)
18 Group: Applications/System
19 Source0: http://download.openvz.org/criu/%{name}-%{version}.tar.bz2
20 # Source0-md5: f355b7eb8f4037d6b87b201815df7d7a
21 Patch0: %{name}-python.patch
24 BuildRequires: asciidoc
25 BuildRequires: gnutls-devel
26 BuildRequires: libbpf-devel
27 BuildRequires: libbsd-devel
28 BuildRequires: libcap-devel
29 BuildRequires: libnet-devel
30 BuildRequires: libnl-devel >= 1:3.2
31 BuildRequires: libselinux-devel
32 BuildRequires: nftables-devel
33 BuildRequires: pkgconfig
34 BuildRequires: protobuf
35 BuildRequires: protobuf-c-devel
36 BuildRequires: protobuf-devel
37 BuildRequires: python3
38 BuildRequires: python3-modules
39 BuildRequires: rpm-pythonprov
40 BuildRequires: rpmbuild(macros) >= 2.007
41 BuildRequires: sed >= 4.0
42 Requires: %{name}-libs = %{version}-%{release}
43 Requires: iproute2 >= 3.5
44 Requires: uname(release) >= 3.11
45 ExclusiveArch: %{x8664} %{armv7} %{armv8} aarch64 ppc64
46 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48 %define _libexecdir %{_prefix}/lib
51 Checkpoint/Restore In Userspace, or CRIU, is a software tool for Linux
52 operating system. Using this tool, you can freeze a running
53 application (or part of it) and checkpoint it to a hard drive as a
54 collection of files. You can then use the files to restore and run the
55 application from the point it was frozen at. The distinctive feature
56 of the CRIU project is that it is mainly implemented in user space.
58 %description -l en.UTF-8
59 Checkpoint/Restore In Userspace, or CRIU (pronounced kree-oo, IPA:
60 /krɪʊ/, Russian: криу), is a software tool for Linux operating system.
61 Using this tool, you can freeze a running application (or part of it)
62 and checkpoint it to a hard drive as a collection of files. You can
63 then use the files to restore and run the application from the point
64 it was frozen at. The distinctive feature of the CRIU project is that
65 it is mainly implemented in user space.
67 %description -l pl.UTF-8
68 CRIU (Checkpoint/Restore In Userspace) to narzędzie programowe dla
69 systemu operacyjnego Linux. Przy jego użyciu można zamrozić działającą
70 aplikację (lub jej część) i zapisać migawkę na twardym dysku jako
71 zestaw plików. Następnie można użyć tych plików do odtworzenia i
72 uruchomienia aplikacji od miejsca, w którym została zamrożona.
73 Wyróżnikiem projektu CRIU jest to, że został zaimplementowany głównie
74 w przestrzeni użytkownika.
77 Summary: CRIU shared library
78 Summary(pl.UTF-8): Biblioteka współdzielona CRIU
85 %description libs -l pl.UTF-8
86 Biblioteka współdzielona CRIU.
89 Summary: Header files for CRIU library
90 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki CRIU
92 Group: Development/Libraries
93 Requires: %{name}-libs = %{version}-%{release}
96 Header files for CRIU library.
98 %description devel -l pl.UTF-8
99 Pliki nagłówkowe biblioteki CRIU.
101 %package -n python3-pycriu
102 Summary: Python interface to CRIU
103 Summary(pl.UTF-8): Pythonowy interfejs do CRIU
104 Group: Libraries/Python
105 Requires: %{name}-libs = %{version}-%{release}
106 Obsoletes: python-pycriu < 3.16
108 %description -n python3-pycriu
109 Python interface to CRIU. This package contains also crit utility.
111 %description -n python3-pycriu -l pl.UTF-8
112 Pythonowy interfejs do CRIU. Ten pakiet zawiera także narzędzie crit.
119 %{__sed} -i -e 's#-O2 -g#$(OPT)#g' Makefile
121 %{__sed} -i -e '1 s,#!.*env python.*,#!%{__python3},' scripts/criu-ns
124 %define _make_opts \\\
125 DEB_HOST_MULTIARCH= \\\
127 OPT="%{rpmcppflags} %{rpmcflags}" \\\
128 PREFIX=%{_prefix} \\\
129 LIBDIR=%{_libdir} \\\
130 LOGROTATEDIR=%{_sysconfdir}/logrotate.d \\\
131 LIBEXECDIR=%{_libexecdir} \\\
132 PYSITESCRIPTDIR=%{py3_sitescriptdir} \\\
133 MANDIR=%{_mandir} \\\
135 SUBARCH=%{_target_cpu} \\\
144 rm -rf $RPM_BUILD_ROOT
146 DESTDIR=$RPM_BUILD_ROOT
148 install -p contrib/docker_cr.sh $RPM_BUILD_ROOT%{_libexecdir}/%{name}/scripts
150 # optional scripts, do not autogenerate bash dep
151 chmod -x $RPM_BUILD_ROOT%{_libexecdir}/%{name}/scripts/*.sh
154 rm -rf $RPM_BUILD_ROOT
156 %post libs -p /sbin/ldconfig
157 %postun libs -p /sbin/ldconfig
160 %defattr(644,root,root,755)
161 %doc CREDITS README.md
162 %attr(755,root,root) %{_bindir}/compel
163 %attr(755,root,root) %{_sbindir}/criu
164 %attr(755,root,root) %{_sbindir}/criu-ns
165 %{_mandir}/man1/compel.1*
166 %{_mandir}/man1/crit.1*
167 %{_mandir}/man1/criu-ns.1*
168 %{_mandir}/man8/criu.8*
169 %dir %{_libexecdir}/%{name}
170 %dir %{_libexecdir}/%{name}/scripts
171 %attr(755,root,root) %{_libexecdir}/%{name}/scripts/systemd-autofs-restart.sh
172 %attr(755,root,root) %{_libexecdir}/%{name}/scripts/docker_cr.sh
175 %defattr(644,root,root,755)
176 %attr(755,root,root) %{_libdir}/libcompel.so.*.*
177 %attr(755,root,root) %ghost %{_libdir}/libcompel.so.1
178 %attr(755,root,root) %{_libdir}/libcriu.so.*.*
179 %attr(755,root,root) %ghost %{_libdir}/libcriu.so.2
182 %defattr(644,root,root,755)
183 %attr(755,root,root) %{_libdir}/libcompel.so
184 %attr(755,root,root) %{_libdir}/libcriu.so
185 %{_includedir}/compel
187 %{_pkgconfigdir}/criu.pc
189 %files -n python3-pycriu
190 %defattr(644,root,root,755)
191 %attr(755,root,root) %{_bindir}/crit
192 %{py3_sitescriptdir}/pycriu
193 %{py3_sitescriptdir}/crit-0.0.1-py*.egg-info