No description
Find a file
Kir Kolyshkin 6e70d6941e criu/Makefile: fix rebuilding criu/pie/pie.lib.a
As reported by Andrei Vagin:

 touch criu/pie/parasite-vdso.c

does not lead to rebuild pie.lib.a and its dependencies.

This happened because the real dependencies of criu/pie/pie.lib.a
are listed in criu/pie/Makefile.library, which is never included
or called with sub-make, because the criu/Makefile says:

 criu/pie/pie.lib.a: $(ARCH-LIB)
 	$(Q) $(MAKE) $(call build-as,Makefile.library,criu/pie) all

essentially saying we only need to call a sub-make with Makefile.library
if the target is absent, or $(ARCH-LIB) is newer than the target.

A workaround is to use .FORCE so that the Makefile.library is always
called and so the dependencies are checked.

Note the above is also true for any target that involves calling
a sub-make -- it should either be used with .FORCE or otherwise
depend on a phony target. I haven't checked all the CRIU makefiles
but suspect there might be more cases like this one.

travis-ci: success for Makefiles: fix deps checking
Cc: Cyrill Gorcunov <gorcunov@openvz.org>
Reported-by: Andrei Vagin <avagin@virtuozzo.com>
Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Reviewed-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-03-15 00:09:57 +03:00
compel compel cli: make -p optional 2017-03-15 00:09:57 +03:00
contrib scripts/install-debian-packages: add libnet-dev 2017-01-16 11:04:49 +03:00
coredump coredump: Rename dir to coredump 2016-06-28 13:04:58 +03:00
crit crit/decode: set default opts['nopl'] to False 2016-05-30 13:47:54 +03:00
criu criu/Makefile: fix rebuilding criu/pie/pie.lib.a 2017-03-15 00:09:57 +03:00
Documentation .gitignore: update to recent changes 2017-03-14 21:03:22 +03:00
images criu: arch, x86 -- Rename registers mode 2017-03-14 23:58:07 +03:00
include/common x86/asm: move user code selector values to common 2017-03-15 00:06:17 +03:00
lib Makefiles: move -Wa,--noexecstack out of CFLAGS 2017-03-15 00:05:55 +03:00
scripts compel hgen: use for ARM, kill gen-offsets.sh 2017-03-15 00:06:17 +03:00
soccr soccr: add one more test to check libsoccr_save/libsoccr_restore 2017-02-01 18:41:29 +03:00
test gitignores: ignore some more generated files 2017-03-15 00:05:55 +03:00
.gitignore .gitignore: Add compel and common asm symlinks 2017-03-15 00:09:57 +03:00
.mailmap repo: Add mailmap file 2012-03-25 23:31:20 +04:00
.travis.yml travis: execute tests on Alpine 2017-03-02 00:19:03 +03:00
COPYING COPYING: fix a typo in a preamble 2016-08-11 16:18:43 +03:00
CREDITS Add the CREDITS file 2012-07-30 13:52:37 +04:00
INSTALL.md Makefile.install: rm unused vars/target 2017-02-06 13:48:49 +03:00
Makefile Makefile: untangle criu deps 2017-03-15 00:09:56 +03:00
Makefile.compel Makefile: untangle criu deps 2017-03-15 00:09:56 +03:00
Makefile.config x86: enable compatible 32 C/R back 2017-03-15 00:09:53 +03:00
Makefile.install compel: Add installation 2017-03-15 00:06:13 +03:00
Makefile.versions compel: build -- Add @sublevel 2017-03-14 23:58:08 +03:00
README.md Add ascciinema tour on basic criu features. 2016-06-16 16:37:06 +03:00

CRIU (Checkpoint and Restore in Userspace)

An utility to checkpoint/restore tasks. Using this tool, you can freeze a running application (or part of it) and checkpoint it to a hard drive as a collection of files. You can then use the files to restore and run the application from the point it was frozen at. The distinctive feature of the CRIU project is that it is mainly implemented in user space.

The project home is at http://criu.org.

Pages worth starting with are:

A video tour on basic CRIU features

CRIU introduction

How to contribute