# TODO
# - package static libs
-# /usr/lib/compel/fds.lib.a
+# /usr/lib/compel/fds.lib.a
# /usr/lib/compel/scripts/compel-pack.lds.S
# /usr/lib/compel/std.lib.a
# /usr/lib64/libcompel.a
Summary: Checkpoint/restore functionality for Linux in userspace
Summary(pl.UTF-8): Funkcja checkpoint/restore w przestrzeni użytkownika dla Linuksa
Name: criu
-Version: 3.15
-Release: 1
+Version: 3.17.1
+Release: 2
License: GPL v2 (tools), LGPL v2.1 (library)
Group: Applications/System
-Source0: http://download.openvz.org/criu/%{name}-%{version}.tar.bz2
-# Source0-md5: eb47303cda4b1fca8504333df0529a0d
+Source0: https://github.com/checkpoint-restore/criu/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: f3a5e3c3809177fbd4f543b68b563f5a
Patch0: %{name}-python.patch
Patch1: tests.patch
+Patch2: glibc2.36.patch
URL: http://criu.org/
BuildRequires: asciidoc
+BuildRequires: gnutls-devel
+BuildRequires: libbpf-devel
+BuildRequires: libbsd-devel
BuildRequires: libcap-devel
BuildRequires: libnet-devel
BuildRequires: libnl-devel >= 1:3.2
+BuildRequires: libselinux-devel
+BuildRequires: nftables-devel
BuildRequires: pkgconfig
BuildRequires: protobuf
BuildRequires: protobuf-c-devel
BuildRequires: protobuf-devel
-BuildRequires: python >= 2
-BuildRequires: python-modules
+BuildRequires: python3
+BuildRequires: python3-modules
BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.697
+BuildRequires: rpmbuild(macros) >= 2.007
BuildRequires: sed >= 4.0
Requires: %{name}-libs = %{version}-%{release}
Requires: iproute2 >= 3.5
Requires: uname(release) >= 3.11
-ExclusiveArch: %{x8664} armv7l armv7hl armv7hnl aarch64 ppc64
+ExclusiveArch: %{x8664} %{armv7} %{armv8} aarch64 ppc64
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _libexecdir %{_prefix}/lib
License: LGPL v2.1
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
+Requires: protobuf-c-devel
%description devel
Header files for CRIU library.
%description devel -l pl.UTF-8
Pliki nagłówkowe biblioteki CRIU.
-%package -n python-pycriu
+%package -n python3-pycriu
Summary: Python interface to CRIU
Summary(pl.UTF-8): Pythonowy interfejs do CRIU
Group: Libraries/Python
Requires: %{name}-libs = %{version}-%{release}
+Obsoletes: python-pycriu < 3.16
-%description -n python-pycriu
+%description -n python3-pycriu
Python interface to CRIU. This package contains also crit utility.
-%description -n python-pycriu -l pl.UTF-8
+%description -n python3-pycriu -l pl.UTF-8
Pythonowy interfejs do CRIU. Ten pakiet zawiera także narzędzie crit.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
%{__sed} -i -e 's#-O2 -g#$(OPT)#g' Makefile
+%{__sed} -i -e '1 s,#!.*env python.*,#!%{__python3},' scripts/criu-ns
+
+%{__ln_s} scripts/crit-setup.py setup.py
+
%build
%define _make_opts \\\
DEB_HOST_MULTIARCH= \\\
LIBDIR=%{_libdir} \\\
LOGROTATEDIR=%{_sysconfdir}/logrotate.d \\\
LIBEXECDIR=%{_libexecdir} \\\
- PYSITESCRIPTDIR=%{py_sitescriptdir} \\\
MANDIR=%{_mandir} \\\
WERROR=0 \\\
+ SUBARCH=%{_target_cpu} \\\
+ CONFIG_AMDGPU=n \\\
V=1
%{__make}
+%py3_build
+
%if %{with tests}
%{__make} test
%endif
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+%py3_install
+
install -p contrib/docker_cr.sh $RPM_BUILD_ROOT%{_libexecdir}/%{name}/scripts
# optional scripts, do not autogenerate bash dep
chmod -x $RPM_BUILD_ROOT%{_libexecdir}/%{name}/scripts/*.sh
-%py_postclean
-
%clean
rm -rf $RPM_BUILD_ROOT
%doc CREDITS README.md
%attr(755,root,root) %{_bindir}/compel
%attr(755,root,root) %{_sbindir}/criu
+%attr(755,root,root) %{_sbindir}/criu-ns
%{_mandir}/man1/compel.1*
%{_mandir}/man1/crit.1*
+%{_mandir}/man1/criu-ns.1*
%{_mandir}/man8/criu.8*
%dir %{_libexecdir}/%{name}
%dir %{_libexecdir}/%{name}/scripts
%{_includedir}/criu
%{_pkgconfigdir}/criu.pc
-%files -n python-pycriu
+%files -n python3-pycriu
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/crit
-%{py_sitescriptdir}/pycriu
-%{py_sitescriptdir}/crit-0.0.1-py*.egg-info
+%{py3_sitescriptdir}/pycriu
+%{py3_sitescriptdir}/crit-0.0.1-py*.egg-info