%global major 2 %define libname %mklibname criu %{major} %define devname %mklibname criu -d Name: criu Version: 3.14 Release: %mkrel 1 Summary: Tool for Checkpoint/Restore in User-space Group: System/Base License: GPLv2 URL: https://criu.org/ Source0: http://download.openvz.org/criu/criu-%{version}.tar.bz2 Source4: criu-tmpfiles.conf BuildRequires: asciidoc BuildRequires: xmlto BuildRequires: net2-devel BuildRequires: systemd BuildRequires: pkgconfig(gnutls) BuildRequires: pkgconfig(libnftables) BuildRequires: pkgconfig(libprotobuf-c) BuildRequires: pkgconfig(protobuf) BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(libnl-3.0) BuildRequires: pkgconfig(libcap) Requires: python3-%{name} = %{version}-%{release} Provides: crtools = %{version}-%{release} Obsoletes: crtools < 1.2-2 # user-space and kernel changes are only available for x86_64, arm, # ppc64le, aarch64 and s390x # https://bugzilla.redhat.com/show_bug.cgi?id=902875 ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x %description criu is the user-space part of Checkpoint/Restore in User-space (CRIU), a project to implement checkpoint/restore functionality for Linux in user-space. %package -n %{libname} Summary: A library for Checkpoint/Restore in User-space Group: System/Libraries %description -n %{libname} The %{libname} package contains libraries and header files for developing applications that use criu. %package -n python3-%{name} Summary: Python 3 bindings to %{name} library Group: Development/Python Requires: python3dist(protobuf) Requires: python3dist(ipaddr) %{?python_provide:%python_provide python3-%{name}} Obsoletes: python2-criu < 3.12-2 Provides: python-criu = %{version}-%{release} %description -n python3-%{name} The python3-%{name} contains Python 3 bindings to the %{name} library. %package -n %{devname} Summary: Development files for criu Group: Development/C Requires: %{libname} = %{version}-%{release} Provides: libcriu-devel %description -n %{devname} The %{devname} package contains libraries and header files for developing applications that use criu. %prep %autosetup -p1 %build # %%{?_smp_mflags} does not work # -fstack-protector breaks build CFLAGS+=`echo %{optflags} | sed -e 's,-fstack-protector\S*,,g'` make V=1 WERROR=0 PREFIX=%{_prefix} RUNDIR=%{_rundir}/criu UNAME-M=%{_target_cpu} make docs V=1 PYTHON=python3 %install make install-criu DESTDIR=%{buildroot} PREFIX=%{_prefix} LIBDIR=%{_libdir} make install-lib DESTDIR=%{buildroot} PREFIX=%{_prefix} LIBDIR=%{_libdir} PYTHON=python3 make install-man DESTDIR=%{buildroot} PREFIX=%{_prefix} LIBDIR=%{_libdir} # upstream renamed the binary to criu ln -s %{_sbindir}/criu %{buildroot}%{_sbindir}/crtools mkdir -p %{buildroot}%{_tmpfilesdir} install -m 0644 %{SOURCE4} %{buildroot}%{_tmpfilesdir}/%{name}.conf install -d -m 0755 %{buildroot}%{_rundir}/%{name}/ # remove static lib rm -f %{buildroot}%{_libdir}/libcriu.a %files %{_bindir}/crit %{_sbindir}/%{name} %{_sbindir}/crtools %{_libexecdir}/%{name}/ %{_mandir}/man1/crit.1* %{_mandir}/man1/compel.1* %{_mandir}/man8/* %dir %ghost %attr(0755, root, root) %{_rundir}/%{name} %{_tmpfilesdir}/%{name}.conf %doc README.md COPYING %files -n %{libname} %{_libdir}/libcriu.so.%{major} %{_libdir}/libcriu.so.%{major}.* %files -n %{devname} %{_includedir}/criu %{_libdir}/libcriu.so %{_libdir}/pkgconfig/*.pc %files -n python3-criu %{python3_sitelib}/pycriu/ %{python3_sitelib}/crit-*.egg-info %changelog * Mon Jun 29 2020 daviddavid <daviddavid> 3.14-1.mga8 + Revision: 1600289 - new version: 3.14 * Sun Jun 28 2020 daviddavid <daviddavid> 3.13-4.mga8 + Revision: 1600196 - add patch for gcc-10 - rebuild for new protobuf 3.12.3 * Sun Feb 16 2020 pterjan <pterjan> 3.13-3.mga8 + Revision: 1536652 - Force target cpu rather than relying on uname -m, this fixes building for armv7hl on armv8l * Sun Feb 16 2020 umeabot <umeabot> 3.13-2.mga8 + Revision: 1532192 - Mageia 8 Mass Rebuild * Mon Sep 16 2019 daviddavid <daviddavid> 3.13-1.mga8 + Revision: 1442011 - new version: 3.13 - switch to Python 3 * Thu Jul 11 2019 daviddavid <daviddavid> 3.12-1.mga8 + Revision: 1420000 - new version: 3.12 - now libmajor is 2 * Mon Nov 19 2018 daviddavid <daviddavid> 3.11-1.mga7 + Revision: 1331821 - new version: 3.11 * Sun Sep 23 2018 daviddavid <daviddavid> 3.10-1.mga7 + Revision: 1296974 - new version: 3.10 - rename python-criu to python2-criu + umeabot <umeabot> - Mageia 7 Mass Rebuild * Fri Mar 18 2016 tv <tv> 2.0-1.mga6 + Revision: 992757 - add some BRs - new release * Sat Jan 16 2016 blino <blino> 1.8-1.mga6 + Revision: 924031 - 1.8 - drop removed criu.service (mga#16805) - 1.7.2 * Sun Jul 26 2015 blino <blino> 1.6-1.mga6 + Revision: 857752 - buildrequire protobuf-devel for /usr/include/google/protobuf/descriptor.proto - 1.6 - package pycriu bindings in new python-criu package - package crit python tool in main package - README is now README.md * Thu Sep 18 2014 umeabot <umeabot> 1.3-3.mga5 + Revision: 693698 - Rebuild to fix library dependencies * Tue Sep 16 2014 umeabot <umeabot> 1.3-2.mga5 + Revision: 678587 - Mageia 5 Mass Rebuild * Fri Sep 05 2014 luigiwalser <luigiwalser> 1.3-1.mga5 + Revision: 672256 - rename crtools to criu - 1.3 - rename to criu - resync with fedora - rebuild for protobuf-c * Fri Mar 14 2014 tv <tv> 1.2-1.mga5 + Revision: 603459 - adjust file list & libify - workaround install failure - new release * Sun Feb 09 2014 tv <tv> 1.1-1.mga5 + Revision: 586923 - new release * Thu Dec 05 2013 tv <tv> 1.0-1.mga4 + Revision: 555371 - new release * Mon Oct 21 2013 umeabot <umeabot> 0.7-2.mga4 + Revision: 539560 - Mageia 4 Mass Rebuild * Mon Oct 07 2013 blino <blino> 0.7-1.mga4 + Revision: 492413 - 0.7 - drop merged patches * Sat Aug 31 2013 blino <blino> 0.6-1.mga4 + Revision: 473591 - imported package crtools