78f313
%global py_prefix python3
78f313
%global py_binary %{py_prefix}
78f313
78f313
# With annobin enabled, CRIU does not work anymore. It seems CRIU's
78f313
# parasite code breaks if annobin is enabled.
78f313
%undefine _annotated_build
78f313
78f313
%global git0 https://github.com/checkpoint-restore/criu/
78f313
%global commit0 f68da4a86fee62af216e9e7520f4916aa29e797b
78f313
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
78f313
78f313
Name: criu
78f313
Version: 3.15
78f313
Release: 1%{?dist}
78f313
Provides: crtools = %{version}-%{release}
78f313
Obsoletes: crtools <= 1.0-2
78f313
Summary: Tool for Checkpoint/Restore in User-space
78f313
License: GPLv2
78f313
URL: http://criu.org/
78f313
Source0: %{git0}/archive/%{commit0}/v%{version}.tar.gz
78f313
Source1: criu-tmpfiles.conf
78f313
BuildRequires: gcc
78f313
BuildRequires: systemd
78f313
BuildRequires: libnet-devel
78f313
BuildRequires: protobuf-devel protobuf-c-devel %{py_prefix}-devel libnl3-devel libcap-devel
78f313
BuildRequires: asciidoc xmlto
78f313
BuildRequires: perl-interpreter
78f313
BuildRequires: libselinux-devel
78f313
BuildRequires: git
78f313
# Checkpointing containers with a tmpfs requires tar
78f313
Recommends: tar
78f313
78f313
# user-space and kernel changes are only available for x86_64, arm,
78f313
# ppc64le, aarch64 and s390x
78f313
# https://bugzilla.redhat.com/show_bug.cgi?id=902875
78f313
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
78f313
78f313
%description
78f313
criu is the user-space part of Checkpoint/Restore in User-space
78f313
(CRIU), a project to implement checkpoint/restore functionality for
78f313
Linux in user-space.
78f313
78f313
%package -n %{py_prefix}-%{name}
78f313
%{?python_provide:%python_provide %{py_prefix}-%{name}}
78f313
Summary: Python bindings for %{name}
78f313
Requires: %{py_prefix}-protobuf
78f313
Obsoletes: python2-criu < 3.10-1
78f313
78f313
%description -n %{py_prefix}-%{name}
78f313
%{py_prefix}-%{name} contains Python bindings for %{name}.
78f313
78f313
%package -n crit
78f313
Summary: CRIU image tool
78f313
Requires: %{py_prefix}-%{name} = %{version}-%{release}
78f313
78f313
%description -n crit
78f313
crit is a tool designed to decode CRIU binary dump files and show
78f313
their content in human-readable form.
78f313
78f313
%prep
78f313
%autosetup -Sgit -n %{name}-%{commit0}
78f313
78f313
%build
78f313
# %{?_smp_mflags} does not work
78f313
# -fstack-protector breaks build
78f313
CFLAGS+=`echo %{optflags} | sed -e 's,-fstack-protector\S*,,g'` make V=1 WERROR=0 PREFIX=%{_prefix} RUNDIR=/run/criu PYTHON=%{py_binary}
78f313
make docs V=1
78f313
78f313
%install
78f313
make install-criu DESTDIR=$RPM_BUILD_ROOT PREFIX=%{_prefix} LIBDIR=%{_libdir}
78f313
make install-lib DESTDIR=$RPM_BUILD_ROOT PREFIX=%{_prefix} LIBDIR=%{_libdir} PYTHON=%{py_binary}
78f313
make install-man DESTDIR=$RPM_BUILD_ROOT PREFIX=%{_prefix} LIBDIR=%{_libdir}
78f313
mkdir -p %{buildroot}%{_tmpfilesdir}
78f313
install -m 0644 %{SOURCE1} %{buildroot}%{_tmpfilesdir}/%{name}.conf
78f313
install -d -m 0755 %{buildroot}/run/%{name}/
78f313
78f313
# remove devel and libs packages
78f313
rm -rf $RPM_BUILD_ROOT%{_includedir}/criu
78f313
rm $RPM_BUILD_ROOT%{_libdir}/*.so*
78f313
rm $RPM_BUILD_ROOT%{_libdir}/*.a
78f313
rm $RPM_BUILD_ROOT%{_mandir}/man1/compel.1*
78f313
rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig
78f313
rm -rf $RPM_BUILD_ROOT%{_libexecdir}/%{name}
78f313
78f313
%files
78f313
%{_sbindir}/%{name}
78f313
%{_mandir}/man8/criu.8*
78f313
%dir /run/%{name}
78f313
%{_tmpfilesdir}/%{name}.conf
78f313
%doc README.md COPYING
78f313
78f313
%files -n %{py_prefix}-%{name}
78f313
%{python3_sitelib}/pycriu/*
78f313
%{python3_sitelib}/*egg-info
78f313
78f313
%files -n crit
78f313
%{_bindir}/crit
78f313
%doc %{_mandir}/man1/crit.1*
78f313
78f313
%changelog
78f313
* Wed Nov 04 2020 Jindrich Novy <jnovy@redhat.com> - 3.15-1
78f313
- update to https://github.com/checkpoint-restore/criu/releases/tag/v3.15
78f313
- Related: #1883490
78f313
78f313
* Mon May 25 2020 Jindrich Novy <jnovy@redhat.com> - 3.14-2
78f313
- fix "Need to fix bugs found by coverity."
78f313
- Related: #1821193
78f313
78f313
* Tue May 12 2020 Jindrich Novy <jnovy@redhat.com> - 3.14-1
78f313
- synchronize containter-tools 8.3.0 with 8.2.1
78f313
- Related: #1821193
78f313
78f313
* Mon May 13 2019 Adrian Reber <adrian@lisas.de> - 3.12-9
78f313
- Added additional fixup patches for the socket labelling
78f313
78f313
* Sat May 04 2019 Adrian Reber <adrian@lisas.de> - 3.12-8
78f313
- Patch for socket labelling has changed upstream
78f313
78f313
* Mon Apr 29 2019 Adrian Reber <adrian@lisas.de> - 3.12-4
78f313
- Applied patch to correctly restore socket()s
78f313
78f313
* Sat Apr 27 2019 Adrian Reber <adrian@lisas.de> - 3.12-3
78f313
- Correctly exclude libs and devel for RHEL
78f313
78f313
* Thu Apr 25 2019 Adrian Reber <adrian@lisas.de> - 3.12-2
78f313
- Updated to official 3.12
78f313
78f313
* Tue Apr 23 2019 Adrian Reber <adrian@lisas.de> - 3.12-0.1
78f313
- Updated to 3.12 (pre-release)
78f313
- Create libs subpackage
78f313
- Build against SELinux (Fedora and RHEL8)
78f313
- Build against libbsd (Fedora)
78f313
78f313
* Thu Feb 14 2019 Adrian Reber <areber@redhat.com> -  3.11-2
78f313
- Updated to 3.11
78f313
- Removed upstreamed patches
78f313
- Added patch for gcc-9
78f313
78f313
* Tue Dec 11 2018 Adrian Reber <adrian@lisas.de> - 3.10-7
78f313
- Fix 'criu check --feature link_nsid' with more than 10 interfaces (#1652442)
78f313
78f313
* Tue Dec 11 2018 Adrian Reber <adrian@lisas.de> - 3.10-6
78f313
- Make sure no iptables rules are left after restore (#1652471)
78f313
78f313
* Tue Oct 30 2018 Adrian Reber <adrian@lisas.de> - 3.10-5
78f313
- Added Recommends: tar
78f313
  It is necessary when checkpointing containers with a tmpfs
78f313
78f313
* Mon Jul 16 2018 Adrian Reber <adrian@lisas.de> - 3.10-4
78f313
- Add patch to fix errors with read-only runc
78f313
78f313
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.10-3
78f313
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
78f313
78f313
* Wed Jul 11 2018 Adrian Reber <adrian@lisas.de> - 3.10-2
78f313
- Disable annobin as it seems to break CRIU
78f313
78f313
* Tue Jul 10 2018 Adrian Reber <adrian@lisas.de> - 3.10-1
78f313
- Update to 3.10 (#1599710)
78f313
- Switch to python3
78f313
78f313
* Wed Jun 06 2018 Adrian Reber <adrian@lisas.de> - 3.9-2
78f313
- Simplify ExclusiveArch now that there is no more F26
78f313
78f313
* Fri Jun 01 2018 Adrian Reber <adrian@lisas.de> - 3.9-1
78f313
- Update to 3.9
78f313
78f313
* Tue Apr 03 2018 Adrian Reber <adrian@lisas.de> - 3.8.1-1
78f313
- Update to 3.8.1
78f313
78f313
* Thu Mar 22 2018 Adrian Reber <adrian@lisas.de> - 3.8-2
78f313
- Bump release for COPR
78f313
78f313
* Wed Mar 14 2018 Adrian Reber <adrian@lisas.de> - 3.8-1
78f313
- Update to 3.8
78f313
78f313
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-5
78f313
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
78f313
78f313
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.7-4
78f313
- Switch to %%ldconfig_scriptlets
78f313
78f313
* Fri Jan 12 2018 Adrian Reber <adrian@lisas.de> - 3.7-3
78f313
- Fix python/python2 dependencies accross all branches
78f313
78f313
* Wed Jan 03 2018 Merlin Mathesius <mmathesi@redhat.com> - 3.7-2
78f313
- Cleanup spec file conditionals
78f313
78f313
* Sat Dec 30 2017 Adrian Reber <adrian@lisas.de> - 3.7-1
78f313
- Update to 3.7
78f313
78f313
* Fri Dec 15 2017 Iryna Shcherbina <ishcherb@redhat.com> - 3.6-2
78f313
- Update Python 2 dependency declarations to new packaging standards
78f313
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
78f313
78f313
* Thu Oct 26 2017 Adrian Reber <adrian@lisas.de> - 3.6-1
78f313
- Update to 3.6
78f313
78f313
* Wed Oct 18 2017 Adrian Reber <adrian@lisas.de> - 3.5-5
78f313
- Added patch to fix build on Fedora rawhide aarch64
78f313
78f313
* Tue Oct 10 2017 Adrian Reber <areber@redhat.com> - 3.5-4
78f313
- Upgrade imported manpages to 3.5
78f313
78f313
* Mon Oct 09 2017 Adrian Reber <areber@redhat.com> - 3.5-3
78f313
- Fix ExclusiveArch on RHEL
78f313
78f313
* Mon Oct 02 2017 Adrian Reber <adrian@lisas.de> - 3.5-2
78f313
- Merge RHEL and Fedora spec file
78f313
78f313
* Thu Sep 28 2017 Adrian Reber <adrian@lisas.de> - 3.5-1
78f313
- Update to 3.5 (#1496614)
78f313
78f313
* Sun Aug 27 2017 Adrian Reber <adrian@lisas.de> - 3.4-1
78f313
- Update to 3.4 (#1483774)
78f313
- Removed upstreamed patches
78f313
- Added s390x (#1475719)
78f313
78f313
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3-5
78f313
- Python 2 binary package renamed to python2-criu
78f313
  See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
78f313
78f313
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-4
78f313
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
78f313
78f313
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-3
78f313
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
78f313
78f313
* Thu Jul 20 2017 Adrian Reber <adrian@lisas.de> - 3.3-2
78f313
- Added patches to handle changes in glibc
78f313
78f313
* Wed Jul 19 2017 Adrian Reber <adrian@lisas.de> - 3.3-1
78f313
- Update to 3.3
78f313
78f313
* Fri Jun 30 2017 Adrian Reber <adrian@lisas.de> - 3.2.1-2
78f313
- Added patches to handle unified hierarchy and new glibc
78f313
78f313
* Wed Jun 28 2017 Adrian Reber <adrian@lisas.de> - 3.2.1-1
78f313
- Update to 3.2.1-1
78f313
78f313
* Tue Jun 13 2017 Orion Poplawski <orion@cora.nwra.com> - 3.1-2
78f313
- Rebuild for protobuf 3.3.1
78f313
78f313
* Mon May 22 2017 Adrian Reber <adrian@lisas.de> - 3.1-1
78f313
- Update to 3.1
78f313
78f313
* Tue Apr 25 2017 Adrian Reber <adrian@lisas.de> - 3.0-1
78f313
- Update to 3.0
78f313
78f313
* Thu Mar 09 2017 Adrian Reber <adrian@lisas.de> - 2.12-1
78f313
- Update to 2.12
78f313
78f313
* Fri Feb 17 2017 Adrian Reber <adrian@lisas.de> - 2.11.1-1
78f313
- Update to 2.11.1
78f313
78f313
* Thu Feb 16 2017 Adrian Reber <adrian@lisas.de> - 2.11-1
78f313
- Update to 2.11
78f313
78f313
* Mon Feb 13 2017 Adrian Reber <adrian@lisas.de> - 2.10-4
78f313
- Added patch to fix build on ppc64le
78f313
78f313
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.10-3
78f313
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
78f313
78f313
* Mon Jan 23 2017 Orion Poplawski <orion@cora.nwra.com> - 2.10-2
78f313
- Rebuild for protobuf 3.2.0
78f313
78f313
* Mon Jan 16 2017 Adrian Reber <adrian@lisas.de> - 2.10-1
78f313
- Update to 2.10
78f313
78f313
* Mon Dec 12 2016 Adrian Reber <adrian@lisas.de> - 2.9-1
78f313
- Update to 2.9
78f313
- Added crit manpage to crit subpackage
78f313
78f313
* Sat Nov 19 2016 Orion Poplawski <orion@cora.nwra.com> - 2.8-2
78f313
- Rebuild for protobuf 3.1.0
78f313
78f313
* Tue Nov 15 2016 Adrian Reber <adrian@lisas.de> - 2.8-1
78f313
- Update to 2.8
78f313
- Dropped 'mount_resolve_path()' patch
78f313
78f313
* Wed Oct 19 2016 Adrian Reber <adrian@lisas.de> - 2.7-2
78f313
- Added upstream patch to fix #1381351
78f313
  ("criu: mount_resolve_path(): criu killed by SIGSEGV")
78f313
78f313
* Wed Oct 19 2016 Adrian Reber <adrian@lisas.de> - 2.7-1
78f313
- Update to 2.7
78f313
78f313
* Tue Sep 13 2016 Adrian Reber <adrian@lisas.de> - 2.6-1
78f313
- Update to 2.6
78f313
78f313
* Tue Aug 30 2016 Adrian Reber <adrian@lisas.de> - 2.5-1
78f313
- Update to 2.5
78f313
78f313
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4-2
78f313
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
78f313
78f313
* Tue Jul 12 2016 Adrian Reber <adrian@lisas.de> - 2.4-1
78f313
- Update to 2.4
78f313
78f313
* Tue Jun 14 2016 Adrian Reber <areber@redhat.com> - 2.3-1
78f313
- Update to 2.3
78f313
- Copy man-page from Fedora 24 for RHEL
78f313
78f313
* Mon May 23 2016 Adrian Reber <adrian@lisas.de> - 2.2-1
78f313
- Update to 2.2
78f313
78f313
* Tue Apr 12 2016 Adrian Reber <adrian@lisas.de> - 2.1-2
78f313
- Remove crtools symbolic link
78f313
78f313
* Mon Apr 11 2016 Adrian Reber <adrian@lisas.de> - 2.1-1
78f313
- Update to 2.1
78f313
78f313
* Wed Apr 06 2016 Adrian Reber <areber@redhat.com> - 2.0-2
78f313
- Merge changes from Fedora
78f313
78f313
* Thu Mar 10 2016 Andrey Vagin <avagin@openvz.org> - 2.0-1
78f313
- Update to 2.0
78f313
78f313
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.8-2
78f313
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
78f313
78f313
* Mon Dec 07 2015 Adrian Reber <adrian@lisas.de> - 1.8-1
78f313
- Update to 1.8
78f313
78f313
* Mon Nov 02 2015 Adrian Reber <adrian@lisas.de> - 1.7.2-1
78f313
- Update to 1.7.2
78f313
78f313
* Mon Sep 7 2015 Andrey Vagin <avagin@openvz.org> - 1.7-1
78f313
- Update to 1.7
78f313
78f313
* Thu Sep 3 2015 Andrey Vagin <avagin@openvz.org> - 1.6.1-3
78f313
- Build only for power64le
78f313
78f313
* Thu Sep 3 2015 Andrey Vagin <avagin@openvz.org> - 1.6.1-2
78f313
- Build for aarch64 and power64
78f313
78f313
* Thu Aug 13 2015 Adrian Reber <adrian@lisas.de> - 1.6.1-1
78f313
- Update to 1.6.1
78f313
- Merge changes for RHEL packaging
78f313
78f313
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-2
78f313
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
78f313
78f313
* Tue Jun 09 2015 Adrian Reber <areber@redhat.com> - 1.6-1.1
78f313
- adapt to RHEL7
78f313
78f313
* Mon Jun 01 2015 Andrew Vagin <avagin@openvz.org> - 1.6-1
78f313
- Update to 1.6
78f313
78f313
* Thu Apr 30 2015 Andrew Vagin <avagin@openvz.org> - 1.5.2-2
78f313
- Require protobuf-python and python-ipaddr for python-criu
78f313
78f313
* Tue Apr 28 2015 Andrew Vagin <avagin@openvz.org> - 1.5.2
78f313
- Update to 1.5.2
78f313
78f313
* Sun Apr 19 2015 Nikita Spiridonov <nspiridonov@odin.com> - 1.5.1-2
78f313
- Create python-criu and crit subpackages
78f313
78f313
* Tue Mar 31 2015 Andrew Vagin <avagin@openvz.org> - 1.5.1
78f313
- Update to 1.5.1
78f313
78f313
* Sat Dec 06 2014 Adrian Reber <adrian@lisas.de> - 1.4-1
78f313
- Update to 1.4
78f313
78f313
* Tue Sep 23 2014 Adrian Reber <adrian@lisas.de> - 1.3.1-1
78f313
- Update to 1.3.1 (#1142896)
78f313
78f313
* Tue Sep 02 2014 Adrian Reber <adrian@lisas.de> - 1.3-1
78f313
- Update to 1.3
78f313
- Dropped all upstreamed patches
78f313
- included pkgconfig file in -devel
78f313
78f313
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-5
78f313
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
78f313
78f313
* Thu Aug 07 2014 Andrew Vagin <avagin@openvz.org> - 1.2-4
78f313
- Include inttypes.h for PRI helpers
78f313
78f313
* Thu Aug 07 2014 Andrew Vagin <avagin@openvz.org> - 1.2-3
78f313
- Rebuilt for https://bugzilla.redhat.com/show_bug.cgi?id=1126751
78f313
78f313
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-2
78f313
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
78f313
78f313
* Fri Feb 28 2014 Adrian Reber <adrian@lisas.de> - 1.2-1
78f313
- Update to 1.2
78f313
- Dropped all upstreamed patches
78f313
78f313
* Tue Feb 04 2014 Adrian Reber <adrian@lisas.de> - 1.1-4
78f313
- Create -devel subpackage
78f313
78f313
* Wed Dec 11 2013 Andrew Vagin <avagin@openvz.org> - 1.0-3
78f313
- Fix the epoch of crtools
78f313
78f313
* Tue Dec 10 2013 Andrew Vagin <avagin@openvz.org> - 1.0-2
78f313
- Rename crtools to criu #1034677
78f313
78f313
* Wed Nov 27 2013 Andrew Vagin <avagin@openvz.org> - 1.0-1
78f313
- Update to 1.0
78f313
78f313
* Thu Oct 24 2013 Andrew Vagin <avagin@openvz.org> - 0.8-1
78f313
- Update to 0.8
78f313
78f313
* Tue Sep 10 2013 Andrew Vagin <avagin@openvz.org> - 0.7-1
78f313
- Update to 0.7
78f313
78f313
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6-5
78f313
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
78f313
78f313
* Wed Jul 24 2013 Andrew Vagin <avagin@openvz.org> - 0.6-3
78f313
- Delete all kind of -fstack-protector gcc options
78f313
78f313
* Wed Jul 24 2013 Andrew Vagin <avagin@openvz.org> - 0.6-3
78f313
- Added arm macro to ExclusiveArch
78f313
78f313
* Wed Jul 03 2013 Andrew Vagin <avagin@openvz.org> - 0.6-2
78f313
- fix building on ARM
78f313
- fix null pointer dereference
78f313
78f313
* Tue Jul 02 2013 Adrian Reber <adrian@lisas.de> - 0.6-1
78f313
- updated to 0.6
78f313
- upstream moved binaries to sbin
78f313
- using upstream's make install
78f313
78f313
* Tue May 14 2013 Adrian Reber <adrian@lisas.de> - 0.5-1
78f313
- updated to 0.5
78f313
78f313
* Fri Feb 22 2013 Adrian Reber <adrian@lisas.de> - 0.4-1
78f313
- updated to 0.4
78f313
78f313
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3-4
78f313
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
78f313
78f313
* Tue Jan 22 2013 Adrian Reber <adrian@lisas.de> - 0.3-3
78f313
- added ExclusiveArch blocker bug
78f313
78f313
* Fri Jan 18 2013 Adrian Reber <adrian@lisas.de> - 0.3-2
78f313
- improved Summary and Description
78f313
78f313
* Mon Jan 14 2013 Adrian Reber <adrian@lisas.de> - 0.3-1
78f313
- updated to 0.3
78f313
- fix building Documentation/
78f313
78f313
* Tue Aug 21 2012 Adrian Reber <adrian@lisas.de> - 0.2-2
78f313
- remove macros like %%{__mkdir_p} and %%{__install}
78f313
- add comment why it is only x86_64
78f313
78f313
* Tue Aug 21 2012 Adrian Reber <adrian@lisas.de> - 0.2-1
78f313
- initial release