RHEL 9.0.0 Alpha bootstrap
The content of this branch was automatically imported from Fedora ELN with the following as its source: https://src.fedoraproject.org/rpms/criu#f5835fc9be37013ad11a7e6f433cce21ca56ec97
This commit is contained in:
parent
5e19df85d0
commit
1745a49bbd
50
.gitignore
vendored
50
.gitignore
vendored
@ -0,0 +1,50 @@
|
||||
/crtools-0.3.tar.bz2
|
||||
/crtools-0.4.tar.bz2
|
||||
/criu-0.5.tar.bz2
|
||||
/criu-0.6.tar.bz2
|
||||
/criu-0.7.tar.bz2
|
||||
/criu-0.8.tar.bz2
|
||||
/criu-1.0.tar.bz2
|
||||
/criu-1.1.tar.bz2
|
||||
/criu-1.2.tar.bz2
|
||||
/criu-1.3.tar.bz2
|
||||
/criu-1.3.1.tar.bz2
|
||||
/criu-1.4.tar.bz2
|
||||
/criu-1.5.tar.bz2
|
||||
/criu-1.5.1.tar.bz2
|
||||
/criu-1.5.2.tar.bz2
|
||||
/criu-1.6.tar.bz2
|
||||
/criu-1.6.1.tar.bz2
|
||||
/criu-1.7.tar.bz2
|
||||
/criu-1.7.2.tar.bz2
|
||||
/criu-1.8.tar.bz2
|
||||
/criu-2.0.tar.bz2
|
||||
/criu-2.1.tar.bz2
|
||||
/criu-2.2.tar.bz2
|
||||
/criu-2.3.tar.bz2
|
||||
/criu-2.4.tar.bz2
|
||||
/criu-2.5.tar.bz2
|
||||
/criu-2.6.tar.bz2
|
||||
/criu-2.7.tar.bz2
|
||||
/criu-2.8.tar.bz2
|
||||
/criu-2.9.tar.bz2
|
||||
/criu-2.10.tar.bz2
|
||||
/criu-2.11.tar.bz2
|
||||
/criu-2.11.1.tar.bz2
|
||||
/criu-2.12.tar.bz2
|
||||
/criu-3.0.tar.bz2
|
||||
/criu-3.1.tar.bz2
|
||||
/criu-3.2.1.tar.bz2
|
||||
/criu-3.3.tar.bz2
|
||||
/criu-3.4.tar.bz2
|
||||
/criu-3.5.tar.bz2
|
||||
/criu-3.6.tar.bz2
|
||||
/criu-3.7.tar.bz2
|
||||
/criu-3.8.tar.bz2
|
||||
/criu-3.8.1.tar.bz2
|
||||
/criu-3.9.tar.bz2
|
||||
/criu-3.10.tar.bz2
|
||||
/criu-3.11.tar.bz2
|
||||
/criu-3.12.tar.bz2
|
||||
/criu-3.13.tar.bz2
|
||||
/criu-3.14.tar.bz2
|
11
aio-fix.patch
Normal file
11
aio-fix.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/criu/aio.c 2015-07-01 11:02:50.360004543 -0400
|
||||
+++ b/criu/aio.c 2015-07-01 11:03:33.099757812 -0400
|
||||
@@ -74,7 +74,7 @@
|
||||
* up back to the k_max_reqs.
|
||||
*/
|
||||
|
||||
- return (k_max_reqs - 2) / 2;
|
||||
+ return (k_max_reqs - 2);
|
||||
}
|
||||
|
||||
unsigned long aio_rings_args_size(struct vm_area_list *vmas)
|
373
compel.1
Normal file
373
compel.1
Normal file
@ -0,0 +1,373 @@
|
||||
'\" t
|
||||
.\" Title: compel
|
||||
.\" Author: [see the "AUTHOR" section]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 09/12/2019
|
||||
.\" Manual: CRIU Manual
|
||||
.\" Source: criu 3.13
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "COMPEL" "1" "09/12/2019" "criu 3\&.13" "CRIU Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" http://bugs.debian.org/507673
|
||||
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * (re)Define some macros
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" toupper - uppercase a string (locale-aware)
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de toupper
|
||||
.tr aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ
|
||||
\\$*
|
||||
.tr aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz
|
||||
..
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" SH-xref - format a cross-reference to an SH section
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de SH-xref
|
||||
.ie n \{\
|
||||
.\}
|
||||
.toupper \\$*
|
||||
.el \{\
|
||||
\\$*
|
||||
.\}
|
||||
..
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" SH - level-one heading that works better for non-TTY output
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de1 SH
|
||||
.\" put an extra blank line of space above the head in non-TTY output
|
||||
.if t \{\
|
||||
.sp 1
|
||||
.\}
|
||||
.sp \\n[PD]u
|
||||
.nr an-level 1
|
||||
.set-an-margin
|
||||
.nr an-prevailing-indent \\n[IN]
|
||||
.fi
|
||||
.in \\n[an-margin]u
|
||||
.ti 0
|
||||
.HTML-TAG ".NH \\n[an-level]"
|
||||
.it 1 an-trap
|
||||
.nr an-no-space-flag 1
|
||||
.nr an-break-flag 1
|
||||
\." make the size of the head bigger
|
||||
.ps +3
|
||||
.ft B
|
||||
.ne (2v + 1u)
|
||||
.ie n \{\
|
||||
.\" if n (TTY output), use uppercase
|
||||
.toupper \\$*
|
||||
.\}
|
||||
.el \{\
|
||||
.nr an-break-flag 0
|
||||
.\" if not n (not TTY), use normal case (not uppercase)
|
||||
\\$1
|
||||
.in \\n[an-margin]u
|
||||
.ti 0
|
||||
.\" if not n (not TTY), put a border/line under subheading
|
||||
.sp -.6
|
||||
\l'\n(.lu'
|
||||
.\}
|
||||
..
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" SS - level-two heading that works better for non-TTY output
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de1 SS
|
||||
.sp \\n[PD]u
|
||||
.nr an-level 1
|
||||
.set-an-margin
|
||||
.nr an-prevailing-indent \\n[IN]
|
||||
.fi
|
||||
.in \\n[IN]u
|
||||
.ti \\n[SN]u
|
||||
.it 1 an-trap
|
||||
.nr an-no-space-flag 1
|
||||
.nr an-break-flag 1
|
||||
.ps \\n[PS-SS]u
|
||||
\." make the size of the head bigger
|
||||
.ps +2
|
||||
.ft B
|
||||
.ne (2v + 1u)
|
||||
.if \\n[.$] \&\\$*
|
||||
..
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" BB/EB - put background/screen (filled box) around block of text
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de BB
|
||||
.if t \{\
|
||||
.sp -.5
|
||||
.br
|
||||
.in +2n
|
||||
.ll -2n
|
||||
.gcolor red
|
||||
.di BX
|
||||
.\}
|
||||
..
|
||||
.de EB
|
||||
.if t \{\
|
||||
.if "\\$2"adjust-for-leading-newline" \{\
|
||||
.sp -1
|
||||
.\}
|
||||
.br
|
||||
.di
|
||||
.in
|
||||
.ll
|
||||
.gcolor
|
||||
.nr BW \\n(.lu-\\n(.i
|
||||
.nr BH \\n(dn+.5v
|
||||
.ne \\n(BHu+.5v
|
||||
.ie "\\$2"adjust-for-leading-newline" \{\
|
||||
\M[\\$1]\h'1n'\v'+.5v'\D'P \\n(BWu 0 0 \\n(BHu -\\n(BWu 0 0 -\\n(BHu'\M[]
|
||||
.\}
|
||||
.el \{\
|
||||
\M[\\$1]\h'1n'\v'-.5v'\D'P \\n(BWu 0 0 \\n(BHu -\\n(BWu 0 0 -\\n(BHu'\M[]
|
||||
.\}
|
||||
.in 0
|
||||
.sp -.5v
|
||||
.nf
|
||||
.BX
|
||||
.in
|
||||
.sp .5v
|
||||
.fi
|
||||
.\}
|
||||
..
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" BM/EM - put colored marker in margin next to block of text
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de BM
|
||||
.if t \{\
|
||||
.br
|
||||
.ll -2n
|
||||
.gcolor red
|
||||
.di BX
|
||||
.\}
|
||||
..
|
||||
.de EM
|
||||
.if t \{\
|
||||
.br
|
||||
.di
|
||||
.ll
|
||||
.gcolor
|
||||
.nr BH \\n(dn
|
||||
.ne \\n(BHu
|
||||
\M[\\$1]\D'P -.75n 0 0 \\n(BHu -(\\n[.i]u - \\n(INu - .75n) 0 0 -\\n(BHu'\M[]
|
||||
.in 0
|
||||
.nf
|
||||
.BX
|
||||
.in
|
||||
.fi
|
||||
.\}
|
||||
..
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * set default formatting
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * MAIN CONTENT STARTS HERE *
|
||||
.\" -----------------------------------------------------------------
|
||||
.SH "Name"
|
||||
compel \- Execute parasitic code within another process\&.
|
||||
.SH "Synopsis"
|
||||
.sp
|
||||
\fBcompel\fR \fIhgen\fR [\fIoption\fR \&...]
|
||||
.sp
|
||||
\fBcompel\fR \fIplugins\fR [\fIPLUGIN_NAME\fR \&...]
|
||||
.sp
|
||||
\fBcompel\fR [\fI\-\-compat\fR] \fIincludes\fR | \fIcflags\fR | \fIldflags\fR
|
||||
.sp
|
||||
\fBcompel\fR [\fI\-\-compat\fR] [\fI\-\-static\fR] \fIlibs\fR
|
||||
.SH "DESCRIPTION"
|
||||
.sp
|
||||
\fBcompel\fR is a utility to execute arbitrary code, also called parasite code, in the context of a foreign process\&. The parasitic code, once compiled with compel flags and packed, can be executed in the context of other tasks\&. Currently there is only one way to load the parasitic blob into victim task using libcompel\&.a, called c\-header\&.
|
||||
.SH "ARGUMENTS"
|
||||
.SS "Positional Arguments"
|
||||
.PP
|
||||
\fBhgen\fR
|
||||
.RS 4
|
||||
create a header from the \&.po file, which is the parasite binary\&.
|
||||
.RE
|
||||
.PP
|
||||
\fBplugins\fR
|
||||
.RS 4
|
||||
prints the plugins available\&.
|
||||
.RE
|
||||
.PP
|
||||
\fBldflags\fR
|
||||
.RS 4
|
||||
prints the ldflags available to compel during linking of parasite code\&.
|
||||
.RE
|
||||
.PP
|
||||
\fBcflags\fR
|
||||
.RS 4
|
||||
prints the compel cflags to be used during compilation of parasitic code\&.
|
||||
.RE
|
||||
.PP
|
||||
\fBincludes\fR
|
||||
.RS 4
|
||||
prints list of standard include directories\&.
|
||||
.RE
|
||||
.PP
|
||||
\fBlibs\fR
|
||||
.RS 4
|
||||
prints list of static or dynamic libraries that compel can link with\&.
|
||||
.RE
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\fB\-f\fR, \fB\-\-file\fR \fIFILE\fR
|
||||
.RS 4
|
||||
Path to the binary file,
|
||||
\fIFILE\fR, which
|
||||
\fBcompel\fR
|
||||
must turn into a header
|
||||
.RE
|
||||
.PP
|
||||
\fB\-o\fR, \fB\-\-output\fR \fIFILE\fR
|
||||
.RS 4
|
||||
Path to the header file,
|
||||
\fIFILE\fR, where compel must write the resulting header\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-p\fR, \fB\-\-prefix\fR \fINAME\fR
|
||||
.RS 4
|
||||
Specify prefix for var names
|
||||
.RE
|
||||
.PP
|
||||
\fB\-l\fR, \fB\-\-log\-level\fR \fINUM\fR
|
||||
.RS 4
|
||||
Default log level of compel\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-h\fR, \fB\-\-help\fR
|
||||
.RS 4
|
||||
Prints usage and exits\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-V\fR, \fB\-\-version\fR
|
||||
.RS 4
|
||||
Prints version number of compel\&.
|
||||
.RE
|
||||
.SH "SOURCE EXAMPLES"
|
||||
.SS "Parasitic Code"
|
||||
.sp
|
||||
\fB#include <compel/plugins/std\&.h>\fR
|
||||
.sp
|
||||
\fBint parasite_trap_cmd(int cmd, void *args);\fR //gets called by compel_run_in_thread()
|
||||
.sp
|
||||
\fBint parasite_daemon_cmd(int cmd, void *arg);\fR // gets called by compel_rpc_call() and compel_rpc_call_sync()
|
||||
.sp
|
||||
\fBvoid parasite_cleanup(void);\fR //gets called on parasite unload by compel_cure()
|
||||
.SS "Infecting code"
|
||||
.sp
|
||||
The parasitic code is compiled and converted to a header using \fBcompel\fR, and included here\&.
|
||||
.sp
|
||||
\fB#include <compel/compel\&.h>\fR
|
||||
.sp
|
||||
\fB#include "parasite\&.h"\fR
|
||||
.sp
|
||||
Following steps are perfomed to infect the victim process:
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
stop the task:
|
||||
\fBint compel_stop_task(int pid);\fR
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
prepare infection handler:
|
||||
\fBstruct parasite_ctl *compel_prepare(int pid);\fR
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
execute system call:
|
||||
\fBint compel_syscall(ctl, int syscall_nr, long *ret, int arg \&...);\fR
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
infect victim:
|
||||
\fBint compel_infect(ctl, nr_thread, size_of_args_area);\fR
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
cure the victim:
|
||||
\fBint compel_cure(ctl);\fR
|
||||
//ctl pointer is freed by this call
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
Resume victim:
|
||||
\fBint compel_resume_task(pid, orig_state, state);\fR
|
||||
.RE
|
||||
.sp
|
||||
\fBctl\fR must be configured with blob information by calling \fBPREFIX_setup_c_header()\fR, with ctl as its argument\&. \fBPREFIX\fR is the argument given to \fB\-p\fR when calling hgen, else it is deduced from file name\&.
|
||||
.SH "EXAMPLES"
|
||||
.sp
|
||||
To generate a header file(\&.h) from a parasite binary file(\&.po) use:
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.fam C
|
||||
.ps -1
|
||||
.nf
|
||||
.BB lightgray
|
||||
compel hgen \-f parasite\&.po \-o parasite\&.h
|
||||
.EB lightgray
|
||||
.fi
|
||||
.fam
|
||||
.ps +1
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
\fIparasite\&.po\fR file is obtained by compiling the parasite source with compel flags and linking it with the compel plugins\&.
|
||||
.SH "AUTHOR"
|
||||
.sp
|
||||
The CRIU team\&.
|
235
crit.1
Normal file
235
crit.1
Normal file
@ -0,0 +1,235 @@
|
||||
'\" t
|
||||
.\" Title: crit
|
||||
.\" Author: [see the "AUTHOR" section]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/23/2019
|
||||
.\" Manual: CRIU Manual
|
||||
.\" Source: criu 3.12
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "CRIT" "1" "04/23/2019" "criu 3\&.12" "CRIU Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" http://bugs.debian.org/507673
|
||||
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * (re)Define some macros
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" toupper - uppercase a string (locale-aware)
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de toupper
|
||||
.tr aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ
|
||||
\\$*
|
||||
.tr aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz
|
||||
..
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" SH-xref - format a cross-reference to an SH section
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de SH-xref
|
||||
.ie n \{\
|
||||
.\}
|
||||
.toupper \\$*
|
||||
.el \{\
|
||||
\\$*
|
||||
.\}
|
||||
..
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" SH - level-one heading that works better for non-TTY output
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de1 SH
|
||||
.\" put an extra blank line of space above the head in non-TTY output
|
||||
.if t \{\
|
||||
.sp 1
|
||||
.\}
|
||||
.sp \\n[PD]u
|
||||
.nr an-level 1
|
||||
.set-an-margin
|
||||
.nr an-prevailing-indent \\n[IN]
|
||||
.fi
|
||||
.in \\n[an-margin]u
|
||||
.ti 0
|
||||
.HTML-TAG ".NH \\n[an-level]"
|
||||
.it 1 an-trap
|
||||
.nr an-no-space-flag 1
|
||||
.nr an-break-flag 1
|
||||
\." make the size of the head bigger
|
||||
.ps +3
|
||||
.ft B
|
||||
.ne (2v + 1u)
|
||||
.ie n \{\
|
||||
.\" if n (TTY output), use uppercase
|
||||
.toupper \\$*
|
||||
.\}
|
||||
.el \{\
|
||||
.nr an-break-flag 0
|
||||
.\" if not n (not TTY), use normal case (not uppercase)
|
||||
\\$1
|
||||
.in \\n[an-margin]u
|
||||
.ti 0
|
||||
.\" if not n (not TTY), put a border/line under subheading
|
||||
.sp -.6
|
||||
\l'\n(.lu'
|
||||
.\}
|
||||
..
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" SS - level-two heading that works better for non-TTY output
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de1 SS
|
||||
.sp \\n[PD]u
|
||||
.nr an-level 1
|
||||
.set-an-margin
|
||||
.nr an-prevailing-indent \\n[IN]
|
||||
.fi
|
||||
.in \\n[IN]u
|
||||
.ti \\n[SN]u
|
||||
.it 1 an-trap
|
||||
.nr an-no-space-flag 1
|
||||
.nr an-break-flag 1
|
||||
.ps \\n[PS-SS]u
|
||||
\." make the size of the head bigger
|
||||
.ps +2
|
||||
.ft B
|
||||
.ne (2v + 1u)
|
||||
.if \\n[.$] \&\\$*
|
||||
..
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" BB/EB - put background/screen (filled box) around block of text
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de BB
|
||||
.if t \{\
|
||||
.sp -.5
|
||||
.br
|
||||
.in +2n
|
||||
.ll -2n
|
||||
.gcolor red
|
||||
.di BX
|
||||
.\}
|
||||
..
|
||||
.de EB
|
||||
.if t \{\
|
||||
.if "\\$2"adjust-for-leading-newline" \{\
|
||||
.sp -1
|
||||
.\}
|
||||
.br
|
||||
.di
|
||||
.in
|
||||
.ll
|
||||
.gcolor
|
||||
.nr BW \\n(.lu-\\n(.i
|
||||
.nr BH \\n(dn+.5v
|
||||
.ne \\n(BHu+.5v
|
||||
.ie "\\$2"adjust-for-leading-newline" \{\
|
||||
\M[\\$1]\h'1n'\v'+.5v'\D'P \\n(BWu 0 0 \\n(BHu -\\n(BWu 0 0 -\\n(BHu'\M[]
|
||||
.\}
|
||||
.el \{\
|
||||
\M[\\$1]\h'1n'\v'-.5v'\D'P \\n(BWu 0 0 \\n(BHu -\\n(BWu 0 0 -\\n(BHu'\M[]
|
||||
.\}
|
||||
.in 0
|
||||
.sp -.5v
|
||||
.nf
|
||||
.BX
|
||||
.in
|
||||
.sp .5v
|
||||
.fi
|
||||
.\}
|
||||
..
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" BM/EM - put colored marker in margin next to block of text
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de BM
|
||||
.if t \{\
|
||||
.br
|
||||
.ll -2n
|
||||
.gcolor red
|
||||
.di BX
|
||||
.\}
|
||||
..
|
||||
.de EM
|
||||
.if t \{\
|
||||
.br
|
||||
.di
|
||||
.ll
|
||||
.gcolor
|
||||
.nr BH \\n(dn
|
||||
.ne \\n(BHu
|
||||
\M[\\$1]\D'P -.75n 0 0 \\n(BHu -(\\n[.i]u - \\n(INu - .75n) 0 0 -\\n(BHu'\M[]
|
||||
.in 0
|
||||
.nf
|
||||
.BX
|
||||
.in
|
||||
.fi
|
||||
.\}
|
||||
..
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * set default formatting
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * MAIN CONTENT STARTS HERE *
|
||||
.\" -----------------------------------------------------------------
|
||||
.SH "Name"
|
||||
crit \- CRiu Image Tool
|
||||
.SH "Synopsis"
|
||||
.sp
|
||||
\fBcrit\fR \fIdecode\fR [\-h] [\-i IN] [\-o OUT] [\-\-pretty]
|
||||
.sp
|
||||
\fBcrit\fR \fIencode\fR [\-h] [\-i IN] [\-o OUT]
|
||||
.sp
|
||||
\fBcrit\fR \fIinfo\fR [\-h] in
|
||||
.sp
|
||||
\fBcrit\fR \fIx\fR [\-h] dir {ps,fds,mems}
|
||||
.sp
|
||||
\fBcrit\fR \fIshow\fR [\-h] in
|
||||
.SH "DESCRIPTION"
|
||||
.sp
|
||||
\fBcrit\fR is a feature\-rich replacement for existing \fBcriu\fR show\&.
|
||||
.SH "ARGUMENTS"
|
||||
.SS "Positional Arguments"
|
||||
.PP
|
||||
\fBdecode\fR
|
||||
.RS 4
|
||||
convert
|
||||
\fBcriu\fR
|
||||
image from binary type JSON
|
||||
.RE
|
||||
.PP
|
||||
\fBencode\fR
|
||||
.RS 4
|
||||
convert
|
||||
\fBcriu\fR
|
||||
image from JSON type to binary
|
||||
.RE
|
||||
.PP
|
||||
\fBinfo\fR
|
||||
.RS 4
|
||||
show info about image
|
||||
.RE
|
||||
.PP
|
||||
\fBx\fR
|
||||
.RS 4
|
||||
explore image directory
|
||||
.RE
|
||||
.PP
|
||||
\fBshow\fR
|
||||
.RS 4
|
||||
convert
|
||||
\fBcriu\fR
|
||||
image from binary to human\-readable JSON
|
||||
.RE
|
||||
.SS "Optional Arguments"
|
||||
.PP
|
||||
\fB\-h\fR, \fB\-\-help\fR
|
||||
.RS 4
|
||||
Print some help and exit
|
||||
.RE
|
||||
.SH "SEE ALSO"
|
||||
.sp
|
||||
criu(8)
|
||||
.SH "AUTHOR"
|
||||
.sp
|
||||
The CRIU team
|
1
criu-tmpfiles.conf
Normal file
1
criu-tmpfiles.conf
Normal file
@ -0,0 +1 @@
|
||||
d /run/criu 0755 root root -
|
568
criu.spec
Normal file
568
criu.spec
Normal file
@ -0,0 +1,568 @@
|
||||
%if 0%{?fedora} >= 27 || 0%{?rhel} > 7
|
||||
%global py_prefix python3
|
||||
%global py_binary %{py_prefix}
|
||||
%else
|
||||
%global py_prefix python
|
||||
%global py_binary python2
|
||||
%endif
|
||||
|
||||
# With annobin enabled, CRIU does not work anymore. It seems CRIU's
|
||||
# parasite code breaks if annobin is enabled.
|
||||
%undefine _annotated_build
|
||||
|
||||
Name: criu
|
||||
Version: 3.14
|
||||
Release: 8%{?dist}
|
||||
Provides: crtools = %{version}-%{release}
|
||||
Obsoletes: crtools <= 1.0-2
|
||||
Summary: Tool for Checkpoint/Restore in User-space
|
||||
License: GPLv2
|
||||
URL: http://criu.org/
|
||||
Source0: http://download.openvz.org/criu/criu-%{version}.tar.bz2
|
||||
|
||||
%if 0%{?rhel} && 0%{?rhel} <= 7
|
||||
BuildRequires: perl
|
||||
# RHEL has no asciidoc; take man-page from Fedora 26
|
||||
# zcat /usr/share/man/man8/criu.8.gz > criu.8
|
||||
Source1: criu.8
|
||||
Source2: crit.1
|
||||
Source3: compel.1
|
||||
# The patch aio-fix.patch is needed as RHEL7
|
||||
# doesn't do "nr_events *= 2" in ioctx_alloc().
|
||||
Patch100: aio-fix.patch
|
||||
%endif
|
||||
|
||||
Source4: criu-tmpfiles.conf
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: systemd
|
||||
BuildRequires: libnet-devel
|
||||
BuildRequires: protobuf-devel protobuf-c-devel %{py_prefix}-devel libnl3-devel libcap-devel
|
||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||
BuildRequires: asciidoc xmlto
|
||||
BuildRequires: perl-interpreter
|
||||
BuildRequires: libselinux-devel
|
||||
BuildRequires: gnutls-devel
|
||||
BuildRequires: nftables-devel
|
||||
# Checkpointing containers with a tmpfs requires tar
|
||||
Recommends: tar
|
||||
%if 0%{?fedora}
|
||||
BuildRequires: libbsd-devel
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# 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.
|
||||
|
||||
%if 0%{?fedora}
|
||||
%package devel
|
||||
Summary: Header files and libraries for %{name}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
This package contains header files and libraries for %{name}.
|
||||
|
||||
%package libs
|
||||
Summary: Libraries for %{name}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description libs
|
||||
This package contains the libraries for %{name}
|
||||
%endif
|
||||
|
||||
%package -n %{py_prefix}-%{name}
|
||||
%{?python_provide:%python_provide %{py_prefix}-%{name}}
|
||||
Summary: Python bindings for %{name}
|
||||
%if 0%{?rhel} && 0%{?rhel} <= 7
|
||||
Requires: protobuf-python
|
||||
Requires: %{name} = %{version}-%{release} %{py_prefix}-ipaddr
|
||||
%else
|
||||
Requires: %{py_prefix}-protobuf
|
||||
Obsoletes: python2-criu < 3.10-1
|
||||
%endif
|
||||
|
||||
%description -n %{py_prefix}-%{name}
|
||||
%{py_prefix}-%{name} contains Python bindings for %{name}.
|
||||
|
||||
%package -n crit
|
||||
Summary: CRIU image tool
|
||||
Requires: %{py_prefix}-%{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
|
||||
|
||||
%if 0%{?rhel} && 0%{?rhel} <= 7
|
||||
%patch100 -p1
|
||||
%endif
|
||||
|
||||
%build
|
||||
# This package calls LD directly without specifying the LTO plugins. Until
|
||||
# that is fixed, disable LTO.
|
||||
%define _lto_cflags %{nil}
|
||||
|
||||
# %{?_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=/run/criu PYTHON=%{py_binary}
|
||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||
make docs V=1
|
||||
%endif
|
||||
|
||||
|
||||
%install
|
||||
make install-criu DESTDIR=$RPM_BUILD_ROOT PREFIX=%{_prefix} LIBDIR=%{_libdir}
|
||||
make install-lib DESTDIR=$RPM_BUILD_ROOT PREFIX=%{_prefix} LIBDIR=%{_libdir} PYTHON=%{py_binary}
|
||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||
# only install documentation on Fedora as it requires asciidoc,
|
||||
# which is not available on RHEL7
|
||||
make install-man DESTDIR=$RPM_BUILD_ROOT PREFIX=%{_prefix} LIBDIR=%{_libdir}
|
||||
%else
|
||||
install -p -m 644 -D %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man8/%{name}.8
|
||||
install -p -m 644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man1/crit.1
|
||||
install -p -m 644 -D %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man1/compel.1
|
||||
%endif
|
||||
|
||||
mkdir -p %{buildroot}%{_tmpfilesdir}
|
||||
install -m 0644 %{SOURCE4} %{buildroot}%{_tmpfilesdir}/%{name}.conf
|
||||
install -d -m 0755 %{buildroot}/run/%{name}/
|
||||
|
||||
%if 0%{?rhel}
|
||||
# remove devel and libs packages
|
||||
rm -rf $RPM_BUILD_ROOT%{_includedir}/criu
|
||||
rm $RPM_BUILD_ROOT%{_libdir}/*.so*
|
||||
rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig
|
||||
rm -rf $RPM_BUILD_ROOT%{_libexecdir}/%{name}
|
||||
%endif
|
||||
|
||||
# remove static lib
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/libcriu.a
|
||||
|
||||
%files
|
||||
%{_sbindir}/%{name}
|
||||
%doc %{_mandir}/man8/criu.8*
|
||||
%doc %{_mandir}/man1/compel.1*
|
||||
%if 0%{?fedora}
|
||||
%{_libexecdir}/%{name}
|
||||
%endif
|
||||
%dir /run/%{name}
|
||||
%{_tmpfilesdir}/%{name}.conf
|
||||
%doc README.md COPYING
|
||||
|
||||
%if 0%{?fedora}
|
||||
%files devel
|
||||
%{_includedir}/criu
|
||||
%{_libdir}/*.so
|
||||
%{_libdir}/pkgconfig/*.pc
|
||||
|
||||
%files libs
|
||||
%{_libdir}/*.so.*
|
||||
%endif
|
||||
|
||||
%files -n %{py_prefix}-%{name}
|
||||
%if 0%{?rhel} && 0%{?rhel} <= 7
|
||||
%{python2_sitelib}/pycriu/*
|
||||
%{python2_sitelib}/*egg-info
|
||||
%else
|
||||
%{python3_sitelib}/pycriu/*
|
||||
%{python3_sitelib}/*egg-info
|
||||
%endif
|
||||
|
||||
%files -n crit
|
||||
%{_bindir}/crit
|
||||
%doc %{_mandir}/man1/crit.1*
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Sep 23 2020 Adrian Reber <adrian@lisas.de> - 3.14-8
|
||||
- Rebuilt for protobuf 3.13
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.14-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Tue Jul 14 2020 Jeff Law <law@redhat.com> - 3.14-6
|
||||
- Disable LTO
|
||||
|
||||
* Sun Jun 14 2020 Adrian Reber <adrian@lisas.de> - 3.14-5
|
||||
- Rebuilt for protobuf 3.12
|
||||
|
||||
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 3.14-4
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Thu Apr 30 2020 Adrian Reber <adrian@lisas.de> - 3.14-3
|
||||
- BuildRequire nftables-devel for working CI
|
||||
|
||||
* Thu Apr 30 2020 Adrian Reber <adrian@lisas.de> - 3.14-2
|
||||
- Rebuild for CI fixes
|
||||
|
||||
* Wed Apr 29 2020 Adrian Reber <adrian@lisas.de> - 3.14-1
|
||||
- Update to 3.14 (#1829399)
|
||||
|
||||
* Sun Mar 29 2020 Andrei Vagin <avagin@gmail.com> - 3.13-7
|
||||
- Added patch for gcc-10
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.13-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Mon Sep 16 2019 Adrian Reber <adrian@lisas.de> - 3.13-5
|
||||
- Update to 3.13 (#1751146)
|
||||
- Drop upstreamed patches
|
||||
- Drop static library
|
||||
- Add compel man-page
|
||||
|
||||
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 3.12-14
|
||||
- Rebuilt for Python 3.8
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.12-13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Tue May 14 2019 Adrian Reber <adrian@lisas.de> - 3.12-11
|
||||
- Test different decision_context in gating.yaml
|
||||
|
||||
* Mon May 13 2019 Adrian Reber <adrian@lisas.de> - 3.12-10
|
||||
- Added additional fixup patches for the socket labelling
|
||||
|
||||
* Sat May 04 2019 Adrian Reber <adrian@lisas.de> - 3.12-8
|
||||
- Patch for socket labelling has changed upstream
|
||||
|
||||
* Mon Apr 29 2019 Adrian Reber <adrian@lisas.de> - 3.12-4
|
||||
- Applied patch to correctly restore socket()s
|
||||
|
||||
* Sat Apr 27 2019 Adrian Reber <adrian@lisas.de> - 3.12-3
|
||||
- Correctly exclude libs and devel for RHEL
|
||||
|
||||
* Thu Apr 25 2019 Adrian Reber <adrian@lisas.de> - 3.12-2
|
||||
- Updated to official 3.12
|
||||
|
||||
* Tue Apr 23 2019 Adrian Reber <adrian@lisas.de> - 3.12-0.1
|
||||
- Updated to 3.12 (pre-release)
|
||||
- Create libs subpackage
|
||||
- Build against SELinux (Fedora and RHEL8)
|
||||
- Build against libbsd (Fedora)
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.11-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Sat Jan 19 2019 Adrian Reber <adrian@lisas.de> - 3.11-2
|
||||
- Added patch for gcc-9
|
||||
|
||||
* Tue Nov 06 2018 Adrian Reber <adrian@lisas.de> - 3.11-1
|
||||
- Updated to 3.11
|
||||
- Removed upstreamed patches
|
||||
|
||||
* Tue Oct 30 2018 Adrian Reber <adrian@lisas.de> - 3.10-5
|
||||
- Added Recommends: tar
|
||||
It is necessary when checkpointing containers with a tmpfs
|
||||
|
||||
* Mon Jul 16 2018 Adrian Reber <adrian@lisas.de> - 3.10-4
|
||||
- Add patch to fix errors with read-only runc
|
||||
|
||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.10-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Wed Jul 11 2018 Adrian Reber <adrian@lisas.de> - 3.10-2
|
||||
- Disable annobin as it seems to break CRIU
|
||||
|
||||
* Tue Jul 10 2018 Adrian Reber <adrian@lisas.de> - 3.10-1
|
||||
- Update to 3.10 (#1599710)
|
||||
- Switch to python3
|
||||
|
||||
* Wed Jun 06 2018 Adrian Reber <adrian@lisas.de> - 3.9-2
|
||||
- Simplify ExclusiveArch now that there is no more F26
|
||||
|
||||
* Fri Jun 01 2018 Adrian Reber <adrian@lisas.de> - 3.9-1
|
||||
- Update to 3.9
|
||||
|
||||
* Tue Apr 03 2018 Adrian Reber <adrian@lisas.de> - 3.8.1-1
|
||||
- Update to 3.8.1
|
||||
|
||||
* Thu Mar 22 2018 Adrian Reber <adrian@lisas.de> - 3.8-2
|
||||
- Bump release for COPR
|
||||
|
||||
* Wed Mar 14 2018 Adrian Reber <adrian@lisas.de> - 3.8-1
|
||||
- Update to 3.8
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.7-4
|
||||
- Switch to %%ldconfig_scriptlets
|
||||
|
||||
* Fri Jan 12 2018 Adrian Reber <adrian@lisas.de> - 3.7-3
|
||||
- Fix python/python2 dependencies accross all branches
|
||||
|
||||
* Wed Jan 03 2018 Merlin Mathesius <mmathesi@redhat.com> - 3.7-2
|
||||
- Cleanup spec file conditionals
|
||||
|
||||
* Sat Dec 30 2017 Adrian Reber <adrian@lisas.de> - 3.7-1
|
||||
- Update to 3.7
|
||||
|
||||
* Fri Dec 15 2017 Iryna Shcherbina <ishcherb@redhat.com> - 3.6-2
|
||||
- Update Python 2 dependency declarations to new packaging standards
|
||||
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
||||
|
||||
* Thu Oct 26 2017 Adrian Reber <adrian@lisas.de> - 3.6-1
|
||||
- Update to 3.6
|
||||
|
||||
* Wed Oct 18 2017 Adrian Reber <adrian@lisas.de> - 3.5-5
|
||||
- Added patch to fix build on Fedora rawhide aarch64
|
||||
|
||||
* Tue Oct 10 2017 Adrian Reber <areber@redhat.com> - 3.5-4
|
||||
- Upgrade imported manpages to 3.5
|
||||
|
||||
* Mon Oct 09 2017 Adrian Reber <areber@redhat.com> - 3.5-3
|
||||
- Fix ExclusiveArch on RHEL
|
||||
|
||||
* Mon Oct 02 2017 Adrian Reber <adrian@lisas.de> - 3.5-2
|
||||
- Merge RHEL and Fedora spec file
|
||||
|
||||
* Thu Sep 28 2017 Adrian Reber <adrian@lisas.de> - 3.5-1
|
||||
- Update to 3.5 (#1496614)
|
||||
|
||||
* Sun Aug 27 2017 Adrian Reber <adrian@lisas.de> - 3.4-1
|
||||
- Update to 3.4 (#1483774)
|
||||
- Removed upstreamed patches
|
||||
- Added s390x (#1475719)
|
||||
|
||||
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3-5
|
||||
- Python 2 binary package renamed to python2-criu
|
||||
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Thu Jul 20 2017 Adrian Reber <adrian@lisas.de> - 3.3-2
|
||||
- Added patches to handle changes in glibc
|
||||
|
||||
* Wed Jul 19 2017 Adrian Reber <adrian@lisas.de> - 3.3-1
|
||||
- Update to 3.3
|
||||
|
||||
* Fri Jun 30 2017 Adrian Reber <adrian@lisas.de> - 3.2.1-2
|
||||
- Added patches to handle unified hierarchy and new glibc
|
||||
|
||||
* Wed Jun 28 2017 Adrian Reber <adrian@lisas.de> - 3.2.1-1
|
||||
- Update to 3.2.1-1
|
||||
|
||||
* Tue Jun 13 2017 Orion Poplawski <orion@cora.nwra.com> - 3.1-2
|
||||
- Rebuild for protobuf 3.3.1
|
||||
|
||||
* Mon May 22 2017 Adrian Reber <adrian@lisas.de> - 3.1-1
|
||||
- Update to 3.1
|
||||
|
||||
* Tue Apr 25 2017 Adrian Reber <adrian@lisas.de> - 3.0-1
|
||||
- Update to 3.0
|
||||
|
||||
* Thu Mar 09 2017 Adrian Reber <adrian@lisas.de> - 2.12-1
|
||||
- Update to 2.12
|
||||
|
||||
* Fri Feb 17 2017 Adrian Reber <adrian@lisas.de> - 2.11.1-1
|
||||
- Update to 2.11.1
|
||||
|
||||
* Thu Feb 16 2017 Adrian Reber <adrian@lisas.de> - 2.11-1
|
||||
- Update to 2.11
|
||||
|
||||
* Mon Feb 13 2017 Adrian Reber <adrian@lisas.de> - 2.10-4
|
||||
- Added patch to fix build on ppc64le
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.10-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Mon Jan 23 2017 Orion Poplawski <orion@cora.nwra.com> - 2.10-2
|
||||
- Rebuild for protobuf 3.2.0
|
||||
|
||||
* Mon Jan 16 2017 Adrian Reber <adrian@lisas.de> - 2.10-1
|
||||
- Update to 2.10
|
||||
|
||||
* Mon Dec 12 2016 Adrian Reber <adrian@lisas.de> - 2.9-1
|
||||
- Update to 2.9
|
||||
- Added crit manpage to crit subpackage
|
||||
|
||||
* Sat Nov 19 2016 Orion Poplawski <orion@cora.nwra.com> - 2.8-2
|
||||
- Rebuild for protobuf 3.1.0
|
||||
|
||||
* Tue Nov 15 2016 Adrian Reber <adrian@lisas.de> - 2.8-1
|
||||
- Update to 2.8
|
||||
- Dropped 'mount_resolve_path()' patch
|
||||
|
||||
* Wed Oct 19 2016 Adrian Reber <adrian@lisas.de> - 2.7-2
|
||||
- Added upstream patch to fix #1381351
|
||||
("criu: mount_resolve_path(): criu killed by SIGSEGV")
|
||||
|
||||
* Wed Oct 19 2016 Adrian Reber <adrian@lisas.de> - 2.7-1
|
||||
- Update to 2.7
|
||||
|
||||
* Tue Sep 13 2016 Adrian Reber <adrian@lisas.de> - 2.6-1
|
||||
- Update to 2.6
|
||||
|
||||
* Tue Aug 30 2016 Adrian Reber <adrian@lisas.de> - 2.5-1
|
||||
- Update to 2.5
|
||||
|
||||
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4-2
|
||||
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
||||
|
||||
* Tue Jul 12 2016 Adrian Reber <adrian@lisas.de> - 2.4-1
|
||||
- Update to 2.4
|
||||
|
||||
* Tue Jun 14 2016 Adrian Reber <areber@redhat.com> - 2.3-1
|
||||
- Update to 2.3
|
||||
- Copy man-page from Fedora 24 for RHEL
|
||||
|
||||
* Mon May 23 2016 Adrian Reber <adrian@lisas.de> - 2.2-1
|
||||
- Update to 2.2
|
||||
|
||||
* Tue Apr 12 2016 Adrian Reber <adrian@lisas.de> - 2.1-2
|
||||
- Remove crtools symbolic link
|
||||
|
||||
* Mon Apr 11 2016 Adrian Reber <adrian@lisas.de> - 2.1-1
|
||||
- Update to 2.1
|
||||
|
||||
* Wed Apr 06 2016 Adrian Reber <areber@redhat.com> - 2.0-2
|
||||
- Merge changes from Fedora
|
||||
|
||||
* Thu Mar 10 2016 Andrey Vagin <avagin@openvz.org> - 2.0-1
|
||||
- Update to 2.0
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.8-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Mon Dec 07 2015 Adrian Reber <adrian@lisas.de> - 1.8-1
|
||||
- Update to 1.8
|
||||
|
||||
* Mon Nov 02 2015 Adrian Reber <adrian@lisas.de> - 1.7.2-1
|
||||
- Update to 1.7.2
|
||||
|
||||
* Mon Sep 7 2015 Andrey Vagin <avagin@openvz.org> - 1.7-1
|
||||
- Update to 1.7
|
||||
|
||||
* Thu Sep 3 2015 Andrey Vagin <avagin@openvz.org> - 1.6.1-3
|
||||
- Build only for power64le
|
||||
|
||||
* Thu Sep 3 2015 Andrey Vagin <avagin@openvz.org> - 1.6.1-2
|
||||
- Build for aarch64 and power64
|
||||
|
||||
* Thu Aug 13 2015 Adrian Reber <adrian@lisas.de> - 1.6.1-1
|
||||
- Update to 1.6.1
|
||||
- Merge changes for RHEL packaging
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Tue Jun 09 2015 Adrian Reber <areber@redhat.com> - 1.6-1.1
|
||||
- adapt to RHEL7
|
||||
|
||||
* Mon Jun 01 2015 Andrew Vagin <avagin@openvz.org> - 1.6-1
|
||||
- Update to 1.6
|
||||
|
||||
* Thu Apr 30 2015 Andrew Vagin <avagin@openvz.org> - 1.5.2-2
|
||||
- Require protobuf-python and python-ipaddr for python-criu
|
||||
|
||||
* Tue Apr 28 2015 Andrew Vagin <avagin@openvz.org> - 1.5.2
|
||||
- Update to 1.5.2
|
||||
|
||||
* Sun Apr 19 2015 Nikita Spiridonov <nspiridonov@odin.com> - 1.5.1-2
|
||||
- Create python-criu and crit subpackages
|
||||
|
||||
* Tue Mar 31 2015 Andrew Vagin <avagin@openvz.org> - 1.5.1
|
||||
- Update to 1.5.1
|
||||
|
||||
* Sat Dec 06 2014 Adrian Reber <adrian@lisas.de> - 1.4-1
|
||||
- Update to 1.4
|
||||
|
||||
* Tue Sep 23 2014 Adrian Reber <adrian@lisas.de> - 1.3.1-1
|
||||
- Update to 1.3.1 (#1142896)
|
||||
|
||||
* Tue Sep 02 2014 Adrian Reber <adrian@lisas.de> - 1.3-1
|
||||
- Update to 1.3
|
||||
- Dropped all upstreamed patches
|
||||
- included pkgconfig file in -devel
|
||||
|
||||
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Thu Aug 07 2014 Andrew Vagin <avagin@openvz.org> - 1.2-4
|
||||
- Include inttypes.h for PRI helpers
|
||||
|
||||
* Thu Aug 07 2014 Andrew Vagin <avagin@openvz.org> - 1.2-3
|
||||
- Rebuilt for https://bugzilla.redhat.com/show_bug.cgi?id=1126751
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Fri Feb 28 2014 Adrian Reber <adrian@lisas.de> - 1.2-1
|
||||
- Update to 1.2
|
||||
- Dropped all upstreamed patches
|
||||
|
||||
* Tue Feb 04 2014 Adrian Reber <adrian@lisas.de> - 1.1-4
|
||||
- Create -devel subpackage
|
||||
|
||||
* Wed Dec 11 2013 Andrew Vagin <avagin@openvz.org> - 1.0-3
|
||||
- Fix the epoch of crtools
|
||||
|
||||
* Tue Dec 10 2013 Andrew Vagin <avagin@openvz.org> - 1.0-2
|
||||
- Rename crtools to criu #1034677
|
||||
|
||||
* Wed Nov 27 2013 Andrew Vagin <avagin@openvz.org> - 1.0-1
|
||||
- Update to 1.0
|
||||
|
||||
* Thu Oct 24 2013 Andrew Vagin <avagin@openvz.org> - 0.8-1
|
||||
- Update to 0.8
|
||||
|
||||
* Tue Sep 10 2013 Andrew Vagin <avagin@openvz.org> - 0.7-1
|
||||
- Update to 0.7
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Wed Jul 24 2013 Andrew Vagin <avagin@openvz.org> - 0.6-3
|
||||
- Delete all kind of -fstack-protector gcc options
|
||||
|
||||
* Wed Jul 24 2013 Andrew Vagin <avagin@openvz.org> - 0.6-3
|
||||
- Added arm macro to ExclusiveArch
|
||||
|
||||
* Wed Jul 03 2013 Andrew Vagin <avagin@openvz.org> - 0.6-2
|
||||
- fix building on ARM
|
||||
- fix null pointer dereference
|
||||
|
||||
* Tue Jul 02 2013 Adrian Reber <adrian@lisas.de> - 0.6-1
|
||||
- updated to 0.6
|
||||
- upstream moved binaries to sbin
|
||||
- using upstream's make install
|
||||
|
||||
* Tue May 14 2013 Adrian Reber <adrian@lisas.de> - 0.5-1
|
||||
- updated to 0.5
|
||||
|
||||
* Fri Feb 22 2013 Adrian Reber <adrian@lisas.de> - 0.4-1
|
||||
- updated to 0.4
|
||||
|
||||
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Tue Jan 22 2013 Adrian Reber <adrian@lisas.de> - 0.3-3
|
||||
- added ExclusiveArch blocker bug
|
||||
|
||||
* Fri Jan 18 2013 Adrian Reber <adrian@lisas.de> - 0.3-2
|
||||
- improved Summary and Description
|
||||
|
||||
* Mon Jan 14 2013 Adrian Reber <adrian@lisas.de> - 0.3-1
|
||||
- updated to 0.3
|
||||
- fix building Documentation/
|
||||
|
||||
* Tue Aug 21 2012 Adrian Reber <adrian@lisas.de> - 0.2-2
|
||||
- remove macros like %%{__mkdir_p} and %%{__install}
|
||||
- add comment why it is only x86_64
|
||||
|
||||
* Tue Aug 21 2012 Adrian Reber <adrian@lisas.de> - 0.2-1
|
||||
- initial release
|
12
gating.yaml
Normal file
12
gating.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_testing
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional }
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_stable
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional }
|
1
sources
Normal file
1
sources
Normal file
@ -0,0 +1 @@
|
||||
SHA512 (criu-3.14.tar.bz2) = 97d064c5ffc41daf6e89edd6208b30e4198f313afc6d621d0dc74dadf94c303be70ba448d4e1ced9500f1c65f1bd12206eb88883be398911cc2c995310b17cc6
|
32
tests/run-podman-checkpoint-restore.sh
Executable file
32
tests/run-podman-checkpoint-restore.sh
Executable file
@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eux
|
||||
|
||||
ls -la
|
||||
|
||||
echo "Start container with tomcat"
|
||||
podman --log-level debug run --tmpfs /tmp --tmpfs /usr/local/tomcat/logs -d docker://docker.io/yovfiatbeb/podman-criu-test
|
||||
|
||||
echo "See which containers are running"
|
||||
podman ps
|
||||
|
||||
# tomcat needs some time to start up
|
||||
echo "Wait 15 seconds for tomcat to start"
|
||||
sleep 15
|
||||
|
||||
echo "Connect to tomcat in the container"
|
||||
curl `podman inspect -l | jq -r '.[0].NetworkSettings.IPAddress'`:8080/examples/servlets/servlet/HelloWorldExample -v
|
||||
|
||||
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'`:8080/examples/servlets/servlet/HelloWorldExample -v
|
||||
|
||||
ls -la
|
||||
echo test
|
73
tests/run-zdtm.sh
Executable file
73
tests/run-zdtm.sh
Executable file
@ -0,0 +1,73 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -x
|
||||
|
||||
uname -a
|
||||
|
||||
# Two IPv6 related tests are failing in CI, not sure why.
|
||||
echo "Network setup"
|
||||
cat /etc/hosts
|
||||
ip a
|
||||
ping localhost -c 3 -4
|
||||
ping localhost -c 3 -6
|
||||
ping localhost -c 3
|
||||
|
||||
ip route save > /tmp/test
|
||||
echo $?
|
||||
file /tmp/test
|
||||
rpm -q iproute
|
||||
|
||||
# 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
|
||||
|
||||
# F30, F29 do not provide python -> python3 symlink
|
||||
test -e /usr/bin/python || ln -sf /usr/bin/python3 /usr/bin/python
|
||||
python -V
|
||||
|
||||
# this socket brakes CRIU's test cases
|
||||
rm -f /var/lib/sss/pipes/nss
|
||||
|
||||
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
|
32
tests/tests.yml
Normal file
32
tests/tests.yml
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
- 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
|
||||
- nftables-devel
|
||||
- python3-pyyaml
|
||||
- python3-protobuf
|
||||
tests:
|
||||
- zdtm:
|
||||
dir: .
|
||||
run: ./run-zdtm.sh
|
Loading…
Reference in New Issue
Block a user