{"thread":{"id":"21904","subject":"[PATCH] Add/resurrect make uninstall target","startedAt":"2009-12-08T14:50:31Z","lastAt":"2009-12-08T14:57:15Z","messageCount":2,"participants":["Jan Nieuwenhuizen","Miklos Vajna"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"129548","messageId":"1260283831.1856.43.camel@vuurvlieg","threadId":"21904","inReplyTo":null,"subject":"[PATCH] Add/resurrect make uninstall target","fromName":"Jan Nieuwenhuizen","fromEmail":"janneke-list@xs4all.nl","sentAt":"2009-12-08T14:50:31Z","receivedAt":"2009-12-08T14:50:31Z","isPatch":true,"sender":{"key":"janneke-list@xs4all.nl","avatar":null},"body":"Uninstall is a common make target that users may expect to be present,\ne.g. it is provided automatically by automake.\n\nThe default Git install performs a multi-rooted installation in $HOME,\nwhich makes manual removing somewhat cumbersome.\n\nThe uninstall target was not present in the toplevel makefile,\nonly a few other makefiles had partial uninstall targets.\n\nSigned-off-by: Jan Nieuwenhuizen <janneke@gnu.org>\n---\n Makefile           |   18 +++++++++++++++++-\n gitk-git/Makefile  |    2 ++\n perl/Makefile      |    2 +-\n templates/Makefile |    5 +++++\n 4 files changed, 25 insertions(+), 2 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex 4a1e5bc..b9ef172 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -1842,7 +1842,23 @@ quick-install-man:\n quick-install-html:\n \t$(MAKE) -C Documentation quick-install-html\n \n+bindir_PROGRAMS = git$X git-upload-pack$X git-receive-pack$X git-upload-archive$X git-shell$X git-cvsserver\n \n+uninstall:\n+ifndef NO_TCLTK\n+\t$(MAKE) -C gitk-git uninstall\n+\t$(MAKE) -C git-gui gitexecdir='$(gitexec_instdir_SQ)' uninstall\n+endif\n+ifndef NO_PERL\n+\t$(MAKE) -C perl prefix='$(prefix_SQ)' DESTDIR='$(DESTDIR_SQ)' uninstall\n+endif\n+\t$(MAKE) -C templates DESTDIR='$(DESTDIR_SQ)' uninstall\n+\t$(RM) $(ALL_PROGRAMS:%='$(DESTDIR_SQ)$(gitexec_instdir_SQ)'/%)\n+\t$(RM) $(BUILT_INS:%='$(DESTDIR_SQ)$(gitexec_instdir_SQ)'/%)\n+\t$(RM) $(OTHER_PROGRAMS:%='$(DESTDIR_SQ)$(gitexec_instdir_SQ)'/%)\n+\t-rmdir -p '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'\n+\t$(RM) $(bindir_PROGRAMS:%='$(DESTDIR_SQ)$(bindir_SQ)'/%)\n+\t-rmdir -p '$(DESTDIR_SQ)$(bindir_SQ)'\n \n ### Maintainer's dist rules\n \n@@ -1921,7 +1937,7 @@ ifndef NO_TCLTK\n endif\n \t$(RM) GIT-VERSION-FILE GIT-CFLAGS GIT-GUI-VARS GIT-BUILD-OPTIONS\n \n-.PHONY: all install clean strip\n+.PHONY: all install uninstall clean strip\n .PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell\n .PHONY: .FORCE-GIT-VERSION-FILE TAGS tags cscope .FORCE-GIT-CFLAGS\n .PHONY: .FORCE-GIT-BUILD-OPTIONS\ndiff --git a/gitk-git/Makefile b/gitk-git/Makefile\nindex e1b6045..d68f19a 100644\n--- a/gitk-git/Makefile\n+++ b/gitk-git/Makefile\n@@ -47,6 +47,8 @@ install:: all\n uninstall::\n \t$(foreach p,$(ALL_MSGFILES), $(RM) '$(DESTDIR_SQ)$(msgsdir_SQ)'/$(notdir $p) &&) true\n \t$(RM) '$(DESTDIR_SQ)$(bindir_SQ)'/gitk\n+\t-rmdir -p '$(DESTDIR_SQ)$(bindir_SQ)'/gitk\n+\t-rmdir -p '$(DESTDIR_SQ)$(msgsdir_SQ)'\n \n clean::\n \t$(RM) gitk-wish po/*.msg\ndiff --git a/perl/Makefile b/perl/Makefile\nindex 4ab21d6..25fc304 100644\n--- a/perl/Makefile\n+++ b/perl/Makefile\n@@ -10,7 +10,7 @@ ifndef V\n \tQUIET = @\n endif\n \n-all install instlibdir: $(makfile)\n+all install instlibdir uninstall: $(makfile)\n \t$(QUIET)$(MAKE) -f $(makfile) $@\n \n clean:\ndiff --git a/templates/Makefile b/templates/Makefile\nindex 408f013..f4048d9 100644\n--- a/templates/Makefile\n+++ b/templates/Makefile\n@@ -51,3 +51,8 @@ install: all\n \t$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(template_instdir_SQ)'\n \t(cd blt && $(TAR) cf - .) | \\\n \t(cd '$(DESTDIR_SQ)$(template_instdir_SQ)' && umask 022 && $(TAR) xof -)\n+\n+uninstall:\n+\t-(cd blt && find . -type f) | (cd '$(DESTDIR_SQ)$(template_instdir_SQ)' && xargs $(RM))\n+\t-(cd blt && find . -mindepth 1 -type d) | (cd '$(DESTDIR_SQ)$(template_instdir_SQ)' && xargs rmdir)\n+\t-rmdir -p '$(DESTDIR_SQ)$(template_instdir_SQ)'\n-- \n1.6.5.2.182.g1a756\n\n\n\n-- \nJan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond - The music typesetter\nAvatar®: http://AvatarAcademy.nl    | http://lilypond.org\n"},{"id":"129549","messageId":"20091208145715.GQ31763@genesis.frugalware.org","threadId":"21904","inReplyTo":"1260283831.1856.43.camel@vuurvlieg","subject":"Re: [PATCH] Add/resurrect make uninstall target","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2009-12-08T14:57:15Z","receivedAt":"2009-12-08T14:57:15Z","isPatch":true,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"On Tue, Dec 08, 2009 at 03:50:31PM +0100, Jan Nieuwenhuizen <janneke-list@xs4all.nl> wrote:\n>  Makefile           |   18 +++++++++++++++++-\n>  gitk-git/Makefile  |    2 ++\n>  perl/Makefile      |    2 +-\n>  templates/Makefile |    5 +++++\n>  4 files changed, 25 insertions(+), 2 deletions(-)\n\nI think the gitk-git one should be a separate patch and then Paul can\napply it to gitk.git.\n"}]}