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

Ruslan Kuprieiev kupruser at gmail.com
Thu Apr 28 11:35:25 PDT 2016


--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.

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
-- 
2.5.0



More information about the CRIU mailing list