[CRIU] [PATCH] uninstall: use --record with setup.py
Dmitry Safonov
dsafonov at virtuozzo.com
Thu Apr 28 11:20:53 PDT 2016
On 04/28/2016 04:29 PM, Ruslan Kuprieiev wrote:
> --record option allows us to keep track of files that are being
> installed by writing them to specified file. We can than use that
> file to do proper cleanup on uninstall.
Hello Ruslan,
> Signed-off-by: Ruslan Kuprieiev <kupruser at gmail.com>
> ---
> .gitignore | 1 +
> lib/Makefile | 13 ++++++-------
> 2 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/.gitignore b/.gitignore
> index e8c47d5..6136d2c 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -36,3 +36,4 @@ criu/pie/piegen/piegen
> criu/pie/pie.lds*.S
> criu/protobuf-desc-gen.h
> scripts/build/qemu-user-static/*
> +lib/.crit-setup.files
> diff --git a/lib/Makefile b/lib/Makefile
> index a6ea3f2..1e4857c 100644
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -5,6 +5,10 @@ CRIU_SO := libcriu.so
> UAPI_HEADERS := c/criu.h ../images/rpc.proto
>
> #
> +# File to keep track of files installed by setup.py
> +CRIT_SETUP_FILES := .crit-setup.files
> +
> +#
> # C language bindings.
> c/%: ../Makefile.versions
> $(call msg-gen, $@)
> @@ -52,7 +56,7 @@ install: lib-c lib-py ../crit/crit c/criu.pc.in
> $(Q) sed -e 's, at version@,$(CRIU_VERSION),' -e 's, at libdir@,$(LIBDIR),' -e 's, at includedir@,$(dir $(INCLUDEDIR)),' c/criu.pc.in > c/criu.pc
> $(Q) install -m 644 c/criu.pc $(DESTDIR)$(LIBDIR)/pkgconfig
> $(E) " INSTALL " crit
> - $(Q) python ../scripts/crit-setup.py install --root=$(DESTDIR) --prefix=$(PREFIX)
> + $(Q) python ../scripts/crit-setup.py install --root=$(DESTDIR) --prefix=$(PREFIX) --record $(CRIT_SETUP_FILES)
> .PHONY: install
>
> uninstall:
> @@ -64,10 +68,5 @@ uninstall:
> $(E) " UNINSTALL" pkgconfig/criu.pc
> $(Q) $(RM) $(addprefix $(DESTDIR)$(LIBDIR)/pkgconfig/,criu.pc)
> $(E) " UNINSTALL" crit
> - #
> - # FIXME How to deal with python setup properly?
> - $(Q) $(RM) $(addprefix $(DESTDIR)$(BINDIR)/,crit)
> - $(Q) $(RM) -r $(addprefix $(DESTDIR)$(LIBDIR)/python2.7/site-packages/,pycriu)
> - $(Q) $(RM) $(addprefix $(DESTDIR)$(LIBDIR)/python2.7/site-packages/,crit-0.0.1-py2.7.egg-info)
> -# $(Q) python ../scripts/crit-setup.py install --root=$(DESTDIR) --prefix=$(PREFIX)
> + $(Q) while read -r file; do $(RM) -r "$(DESTDIR)$$file"; done < $(CRIT_SETUP_FILES)
I'm a little worried about that rm -r stuff.
Why it's needed here?
I would prefer to use rm without `-r' flag
even if we create folders on install.
Or treat folders some special way with rmdir.
> .PHONY: uninstall
--
Regards,
Dmitry Safonov
More information about the CRIU
mailing list