Name: criu Version: 1.6.1 Release: 3%{?dist} Provides: crtools = %{version}-%{release} Obsoletes: crtools <= 1.0-2 Summary: Tool for Checkpoint/Restore in User-space Group: System Environment/Base License: GPLv2 URL: http://criu.org/ Source0: http://download.openvz.org/criu/criu-%{version}.tar.bz2 # The patch aio-fix.patch is needed as RHEL7 # doesn't do "nr_events *= 2" in ioctx_alloc(). Patch0: aio-fix.patch # This patch fixes criu check to correctly detect if # the kernel supports all required clone arguments. Patch1: criu-check-for-CLONE_NEWUSER-CLONE_NEWPID.patch # This patches prints to the console and syslog # that criu is still a tech preview and unsupported. # https://bugzilla.redhat.com/show_bug.cgi?id=1243521 Patch2: tech-preview-info-bz1243521.patch Patch3: 98c8e44f749dd7ed0aa8c540f566bda54d7adfa1.patch BuildRequires: systemd BuildRequires: protobuf-devel protobuf-c-devel python2-devel %if 0%{?fedora} BuildRequires: asciidoc xmlto %endif # user-space and kernel changes are only available for x86_64 and ARM # code is very architecture specific # once imported in RCS it needs a bug openend explaining the ExclusiveArch # https://bugzilla.redhat.com/show_bug.cgi?id=902875 ExclusiveArch: x86_64 %{arm} %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. %if 0%{?fedora} %package devel Summary: Header files and libraries for %{name} Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description devel This package contains header files and libraries for %{name}. %endif %package -n python-%{name} Summary: Python bindings for %{name} Group: Development/Languages Requires: %{name} = %{version}-%{release} python-ipaddr protobuf-python %description -n python-%{name} python-%{name} contains Python bindings for %{name}. %package -n crit Summary: CRIU image tool Requires: python-%{name} = %{version}-%{release} %description -n crit crit is a tool designed to decode CRIU binary dump files and show their content in human-readable form. %prep %setup -q -n criu-%{version} %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -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} %if 0%{?fedora} make docs V=1 %endif %install mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d %if 0%{?rhel} # disable documentation as it requires asciidoc (which is not available on RHEL7) sed -i -e 's,$(CRIU-LIB) install-man,$(CRIU-LIB),g' Makefile %endif make install DESTDIR=$RPM_BUILD_ROOT PREFIX=%{_prefix} LIBDIR=%{_libdir} LOGROTATEDIR=%{_sysconfdir}/logrotate.d %if 0%{?rhel} # remove criu daemon related files rm $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/criu-service rm $RPM_BUILD_ROOT%{_unitdir}/criu.service rm $RPM_BUILD_ROOT%{_unitdir}/criu.socket # remove devel package rm -rf $RPM_BUILD_ROOT%{_includedir}/criu rm $RPM_BUILD_ROOT%{_libdir}/*.so* rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig %endif %if 0%{?fedora} # upstream renamed to binary to criu ln -s %{_sbindir}/criu $RPM_BUILD_ROOT%{_sbindir}/crtools %endif %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %{_sbindir}/%{name} %if 0%{?fedora} %{_sbindir}/crtools %doc %{_mandir}/man8/criu.8* %{_unitdir}/criu.service %{_unitdir}/criu.socket %{_sysconfdir}/logrotate.d/%{name}-service %{_libdir}/*.so.* %endif %doc README.md COPYING %if 0%{?fedora} %files devel %{_includedir}/criu %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc %endif %files -n python-%{name} %{python2_sitelib}/pycriu/* %{python2_sitelib}/*egg-info %files -n crit %{_bindir}/crit %changelog * Mon Aug 31 2015 Adrian Reber - 1.6.1-3 - added patch to fix broken docker checkpoint/restore (#1258539) * Fri Aug 28 2015 Adrian Reber - 1.6.1-2 - removed criu.service (CVE-2015-5228, CVE-2015-5231) - removed devel sub-package (related to above CVEs) * Wed Aug 19 2015 Adrian Reber - 1.6.1-1.1 - fix release version number * Thu Aug 13 2015 Adrian Reber - 1.6.1-1 - Update to 1.6.1 - Merge changes for RHEL packaging * Wed Jun 17 2015 Fedora Release Engineering - 1.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Tue Jun 09 2015 Adrian Reber - 1.6-1.1 - adapt to RHEL7 * Mon Jun 01 2015 Andrew Vagin - 1.6-1 - Update to 1.6 * Thu Apr 30 2015 Andrew Vagin - 1.5.2-2 - Require protobuf-python and python-ipaddr for python-criu * Tue Apr 28 2015 Andrew Vagin - 1.5.2 - Update to 1.5.2 * Sun Apr 19 2015 Nikita Spiridonov - 1.5.1-2 - Create python-criu and crit subpackages * Tue Mar 31 2015 Andrew Vagin - 1.5.1 - Update to 1.5.1 * Sat Dec 06 2014 Adrian Reber - 1.4-1 - Update to 1.4 * Tue Sep 23 2014 Adrian Reber - 1.3.1-1 - Update to 1.3.1 (#1142896) * Tue Sep 02 2014 Adrian Reber - 1.3-1 - Update to 1.3 - Dropped all upstreamed patches - included pkgconfig file in -devel * Sat Aug 16 2014 Fedora Release Engineering - 1.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Thu Aug 07 2014 Andrew Vagin - 1.2-4 - Include inttypes.h for PRI helpers * Thu Aug 07 2014 Andrew Vagin - 1.2-3 - Rebuilt for https://bugzilla.redhat.com/show_bug.cgi?id=1126751 * Sat Jun 07 2014 Fedora Release Engineering - 1.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Fri Feb 28 2014 Adrian Reber - 1.2-1 - Update to 1.2 - Dropped all upstreamed patches * Tue Feb 04 2014 Adrian Reber - 1.1-4 - Create -devel subpackage * Wed Dec 11 2013 Andrew Vagin - 1.0-3 - Fix the epoch of crtools * Tue Dec 10 2013 Andrew Vagin - 1.0-2 - Rename crtools to criu #1034677 * Wed Nov 27 2013 Andrew Vagin - 1.0-1 - Update to 1.0 * Thu Oct 24 2013 Andrew Vagin - 0.8-1 - Update to 0.8 * Tue Sep 10 2013 Andrew Vagin - 0.7-1 - Update to 0.7 * Sat Aug 03 2013 Fedora Release Engineering - 0.6-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Wed Jul 24 2013 Andrew Vagin - 0.6-3 - Delete all kind of -fstack-protector gcc options * Wed Jul 24 2013 Andrew Vagin - 0.6-3 - Added arm macro to ExclusiveArch * Wed Jul 03 2013 Andrew Vagin - 0.6-2 - fix building on ARM - fix null pointer dereference * Tue Jul 02 2013 Adrian Reber - 0.6-1 - updated to 0.6 - upstream moved binaries to sbin - using upstream's make install * Tue May 14 2013 Adrian Reber - 0.5-1 - updated to 0.5 * Fri Feb 22 2013 Adrian Reber - 0.4-1 - updated to 0.4 * Wed Feb 13 2013 Fedora Release Engineering - 0.3-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Tue Jan 22 2013 Adrian Reber - 0.3-3 - added ExclusiveArch blocker bug * Fri Jan 18 2013 Adrian Reber - 0.3-2 - improved Summary and Description * Mon Jan 14 2013 Adrian Reber - 0.3-1 - updated to 0.3 - fix building Documentation/ * Tue Aug 21 2012 Adrian Reber - 0.2-2 - remove macros like %%{__mkdir_p} and %%{__install} - add comment why it is only x86_64 * Tue Aug 21 2012 Adrian Reber - 0.2-1 - initial release