[CRIU] [PATCH] uninstall: use --record with setup.py, v2

Dmitry Safonov dsafonov at virtuozzo.com
Thu Apr 28 11:37:05 PDT 2016


On 04/28/2016 09:35 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.
>
> v2, drop -r, as we shouldn't really care about dirs, because
>      setup.py doesn't report them to us.

Thanks!
Reviewed-by: Dmitry Safonov <dsafonov at virtuozzo.com>

> 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..f1c0821 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) "$(DESTDIR)$$file"; done < $(CRIT_SETUP_FILES)
>   .PHONY: uninstall


-- 
Regards,
Dmitry Safonov



More information about the CRIU mailing list