]> git.pld-linux.org Git - packages/criu.git/blob - criu.spec
05cd4c3e8a9359f37c235867a2273e99a4df6bec
[packages/criu.git] / criu.spec
1 # TODO
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
7 #       /usr/lib64/libcriu.a
8 #
9 # Conditional build:
10 %bcond_with     tests           # build and run tests (requires root)
11
12 Summary:        Checkpoint/restore functionality for Linux in userspace
13 Summary(pl.UTF-8):      Funkcja checkpoint/restore w przestrzeni użytkownika dla Linuksa
14 Name:           criu
15 Version:        3.16
16 Release:        1
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
22 Patch1:         tests.patch
23 URL:            http://criu.org/
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)
47
48 %define         _libexecdir     %{_prefix}/lib
49
50 %description
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.
57
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.
66
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.
75
76 %package libs
77 Summary:        CRIU shared library
78 Summary(pl.UTF-8):      Biblioteka współdzielona CRIU
79 License:        LGPL v2.1
80 Group:          Libraries
81
82 %description libs
83 CRIU shared library.
84
85 %description libs -l pl.UTF-8
86 Biblioteka współdzielona CRIU.
87
88 %package devel
89 Summary:        Header files for CRIU library
90 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki CRIU
91 License:        LGPL v2.1
92 Group:          Development/Libraries
93 Requires:       %{name}-libs = %{version}-%{release}
94
95 %description devel
96 Header files for CRIU library.
97
98 %description devel -l pl.UTF-8
99 Pliki nagłówkowe biblioteki CRIU.
100
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
107
108 %description -n python3-pycriu
109 Python interface to CRIU. This package contains also crit utility.
110
111 %description -n python3-pycriu -l pl.UTF-8
112 Pythonowy interfejs do CRIU. Ten pakiet zawiera także narzędzie crit.
113
114 %prep
115 %setup -q
116 %patch0 -p1
117 %patch1 -p1
118
119 %{__sed} -i -e 's#-O2 -g#$(OPT)#g' Makefile
120
121 %{__sed} -i -e '1 s,#!.*env python.*,#!%{__python3},' scripts/criu-ns
122
123 %build
124 %define _make_opts \\\
125         DEB_HOST_MULTIARCH= \\\
126         CC="%{__cc}" \\\
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} \\\
134         WERROR=0 \\\
135         SUBARCH=%{_target_cpu} \\\
136         V=1
137 %{__make}
138
139 %if %{with tests}
140 %{__make} test
141 %endif
142
143 %install
144 rm -rf $RPM_BUILD_ROOT
145 %{__make} install \
146         DESTDIR=$RPM_BUILD_ROOT
147
148 install -p contrib/docker_cr.sh $RPM_BUILD_ROOT%{_libexecdir}/%{name}/scripts
149
150 # optional scripts, do not autogenerate bash dep
151 chmod -x $RPM_BUILD_ROOT%{_libexecdir}/%{name}/scripts/*.sh
152
153 %clean
154 rm -rf $RPM_BUILD_ROOT
155
156 %post   libs -p /sbin/ldconfig
157 %postun libs -p /sbin/ldconfig
158
159 %files
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
173
174 %files libs
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
180
181 %files devel
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
186 %{_includedir}/criu
187 %{_pkgconfigdir}/criu.pc
188
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
This page took 0.07427 seconds and 3 git commands to generate.