criu-3.17-1.el8

- update to 3.17
- Resolves: #2175794

Signed-off-by: Jindrich Novy <jnovy@redhat.com>
This commit is contained in:
Jindrich Novy 2023-04-11 12:17:40 +02:00
parent cca0058300
commit ceed9a5808
8 changed files with 29 additions and 169 deletions

3
.gitignore vendored
View File

@ -1,2 +1 @@
SOURCES/criu-3.15.tar.bz2 /*.tar.gz
/criu-3.15.tar.bz2

View File

@ -1,19 +1,19 @@
%global py_prefix python3 %global py_prefix python3
%global py_binary %{py_prefix} %global py_binary %{py_prefix}
# With annobin enabled, CRIU does not work anymore. It seems CRIU's # This package calls LD directly without specifying the LTO plugins. Until
# parasite code breaks if annobin is enabled. # that is fixed, disable LTO.
%undefine _annotated_build %global _lto_cflags %%{nil}
Name: criu Name: criu
Version: 3.15 Version: 3.17
Release: 3%{?dist} Release: 1%{?dist}
Provides: crtools = %{version}-%{release} Provides: crtools = %{version}-%{release}
Obsoletes: crtools <= 1.0-2 Obsoletes: crtools <= 1.0-2
Summary: Tool for Checkpoint/Restore in User-space Summary: Tool for Checkpoint/Restore in User-space
License: GPLv2 License: GPLv2
URL: http://criu.org/ URL: http://criu.org/
Source0: http://download.openvz.org/criu/criu-%{version}.tar.bz2 Source0: https://github.com/checkpoint-restore/criu/archive/v%{version}/criu-%{version}.tar.gz
Source1: criu-tmpfiles.conf Source1: criu-tmpfiles.conf
BuildRequires: gcc BuildRequires: gcc
BuildRequires: systemd BuildRequires: systemd
@ -23,11 +23,13 @@ BuildRequires: asciidoc xmlto
BuildRequires: perl-interpreter BuildRequires: perl-interpreter
BuildRequires: libselinux-devel BuildRequires: libselinux-devel
BuildRequires: gnutls-devel BuildRequires: gnutls-devel
BuildRequires: nftables-devel
BuildRequires: make BuildRequires: make
# Checkpointing containers with a tmpfs requires tar # Checkpointing containers with a tmpfs requires tar
Recommends: tar Recommends: tar
Patch0: 0001-Fix-building-with-annobin.patch
Patch1: criu.pc.patch
# user-space and kernel changes are only available for x86_64, arm, # user-space and kernel changes are only available for x86_64, arm,
# ppc64le, aarch64 and s390x # ppc64le, aarch64 and s390x
# https://bugzilla.redhat.com/show_bug.cgi?id=902875 # https://bugzilla.redhat.com/show_bug.cgi?id=902875
@ -41,7 +43,7 @@ Linux in user-space.
%package devel %package devel
Summary: Header files and libraries for %{name} Summary: Header files and libraries for %{name}
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Requires: criu-libs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release}
%description devel %description devel
This package contains header files and libraries for %{name}. This package contains header files and libraries for %{name}.
@ -72,6 +74,8 @@ their content in human-readable form.
%prep %prep
%setup -q %setup -q
%patch0 -p1
%patch1 -p1
%build %build
# %{?_smp_mflags} does not work # %{?_smp_mflags} does not work
@ -90,11 +94,17 @@ install -d -m 0755 %{buildroot}/run/%{name}/
# remove static libs # remove static libs
rm $RPM_BUILD_ROOT%{_libdir}/*.a rm $RPM_BUILD_ROOT%{_libdir}/*.a
rm -rf $RPM_BUILD_ROOT%{_libexecdir}/%{name} rm -rf $RPM_BUILD_ROOT%{_libexecdir}/%{name}
# remove compel man-page
rm $RPM_BUILD_ROOT%{_mandir}/man1/compel.1*
# remove amdgpu plugin man-page
rm $RPM_BUILD_ROOT%{_mandir}/man1/amdgpu_plugin.1*
# remove criu-ns
rm $RPM_BUILD_ROOT%{_sbindir}/criu-ns
rm $RPM_BUILD_ROOT%{_mandir}/man1/criu-ns.1*
%files %files
%{_sbindir}/%{name} %{_sbindir}/%{name}
%{_mandir}/man8/criu.8* %{_mandir}/man8/criu.8*
%{_mandir}/man1/compel.1*
%dir /run/%{name} %dir /run/%{name}
%{_tmpfilesdir}/%{name}.conf %{_tmpfilesdir}/%{name}.conf
%doc README.md COPYING %doc README.md COPYING
@ -116,27 +126,18 @@ rm -rf $RPM_BUILD_ROOT%{_libexecdir}/%{name}
%doc %{_mandir}/man1/crit.1* %doc %{_mandir}/man1/crit.1*
%changelog %changelog
* Fri Aug 06 2021 Jindrich Novy <jnovy@redhat.com> - 3.15-3 * Tue Apr 11 2023 Jindrich Novy <jnovy@redhat.com> - 3.17-1
- add Requires: criu-libs = %%{version}-%%{release} in criu-devel - update to 3.17
- add gating tests - Resolves: #2175794
- Related: #1934415
* Tue Jul 20 2021 Jindrich Novy <jnovy@redhat.com> - 3.15-2 * Mon Aug 02 2021 Jindrich Novy <jnovy@redhat.com> - 3.15-2
- add gating tests
- Related: #1971718
* Fri Jul 30 2021 Jindrich Novy <jnovy@redhat.com> - 3.15-1
- add -devel and -libs subpackages - add -devel and -libs subpackages
- Resolves: #1971718 - Resolves: #1971718
* Wed Nov 04 2020 Jindrich Novy <jnovy@redhat.com> - 3.15-1
- update to https://github.com/checkpoint-restore/criu/releases/tag/v3.15
- Related: #1883490
* Mon May 25 2020 Jindrich Novy <jnovy@redhat.com> - 3.14-2
- fix "Need to fix bugs found by coverity."
- Related: #1821193
* Tue May 12 2020 Jindrich Novy <jnovy@redhat.com> - 3.14-1
- synchronize containter-tools 8.3.0 with 8.2.1
- Related: #1821193
* Mon May 13 2019 Adrian Reber <adrian@lisas.de> - 3.12-9 * Mon May 13 2019 Adrian Reber <adrian@lisas.de> - 3.12-9
- Added additional fixup patches for the socket labelling - Added additional fixup patches for the socket labelling

View File

@ -1,6 +0,0 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

View File

@ -1,4 +0,0 @@
---
annocheck:
jobs:
- hardened: --verbose --skip-pie --skip-bind-now --skip-stack-prot

View File

@ -1 +1 @@
SHA512 (criu-3.15.tar.bz2) = 7bfd32053e47b95d10cdd5e99494bff6a21aa3179518179f8c72e870f0aab960dd76c9f6cb6982e5b881472cf6962eefee3cf7d8ae9128b3379bcaecc937ebbc SHA512 (criu-3.17.tar.gz) = febae66a7820345c0f335f4a49e64c0af5c8ae5d3a394cc0770881b64eab11ca03ad5872f06b0c4ccd1da844c519268dad3b4f8b260267e6d3f582e80d80f804

View File

@ -1,32 +0,0 @@
#!/bin/bash
set -eux
ls -la
if ! crun checkpoint --help; then
echo "crun doesn't support checkpoint/restore"
exit 0
fi
echo "Start container"
podman --log-level debug run -d quay.io/adrianreber/counter
echo "See which containers are running"
podman ps
echo "Connect to the container"
curl `podman inspect -l | jq -r '.[0].NetworkSettings.IPAddress'`:8088
echo "Checkpoint container"
podman --log-level debug container checkpoint -l
podman ps -a
echo "Restore container"
podman --log-level debug container restore -l
podman ps -a
echo "Check if we can connect to the restored container"
curl `podman inspect -l | jq -r '.[0].NetworkSettings.IPAddress'`:8088
ls -la

View File

@ -1,63 +0,0 @@
#!/bin/bash
set -x
uname -a
# These zdtm tests are skipped because they fail only in CI system
EXCLUDES=" \
-x zdtm/static/socket-tcp-reseted \
-x zdtm/static/socket-tcp-closed \
-x zdtm/static/socket-tcp-closed-last-ack \
-x zdtm/static/socket-tcp6-closed \
-x zdtm/static/socket-tcp4v6-closed \
-x zdtm/static/maps01 \
-x zdtm/static/maps04 \
-x zdtm/static/cgroup04 \
-x zdtm/static/cgroup_ifpriomap \
-x zdtm/static/netns_sub \
-x zdtm/static/netns_sub_veth \
-x zdtm/static/file_locks01 \
-x zdtm/static/cgroup02 "
run_test() {
./zdtm.py run --criu-bin /usr/sbin/criu ${EXCLUDES} \
-a --ignore-taint --keep-going
RESULT=$?
}
RESULT=42
python -V
# this socket brakes CRIU's test cases
rm -f /var/lib/sss/pipes/nss
# Move away the nft binary to avoid confusions with CRIU.
# This is already fixed upstream.
[ -e /usr/sbin/nft ] && mv /usr/sbin/nft /usr/sbin/nft.away
cd source
echo "Build CRIU"
make
cd test
echo "Run the actual CRIU test suite"
run_test
if [ "$RESULT" -ne "0" ]; then
# Run tests a second time to make sure it is a real failure
echo "Something failed. Run the actual CRIU test suite a second time"
run_test
if [ "$RESULT" -ne "0" ]; then
echo "Still a test suite error. Something seems to be actually broken"
exit $RESULT
fi
fi
exit 0

View File

@ -1,35 +0,0 @@
---
- hosts: localhost
roles:
- role: standard-test-source
tags:
- classic
- role: standard-test-basic
tags:
- classic
required_packages:
- podman
- curl
- jq
- checkpolicy
- policycoreutils
- make
- gcc
- python3
- libnet-devel
- protobuf-devel
- protobuf-c-devel
- python3-devel
- libnl3-devel
- libcap-devel
- libaio-devel
- python3-pyyaml
- python3-protobuf
- python-unversioned-command
tests:
- zdtm:
dir: .
run: ./run-zdtm.sh
- podman:
dir: .
run: ./run-podman-checkpoint-restore.sh