]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
Multiple 'make uninstall' should not fail even for TEXINFOS.
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Tue, 4 Nov 2008 21:42:23 +0000 (22:42 +0100)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Tue, 4 Nov 2008 21:42:53 +0000 (22:42 +0100)
* lib/am/texinfos.am (uninstall-info-am): Do not fail due to
install-info if the installed file does not exist (any more).
* tests/txinfo26.test: Issue multiple `make uninstall'.
* tests/instmany-mans.test: Likewise.
* tests/instmany-python.test: Likewise.
* tests/instmany.test: Likewise.
* tests/txinfo26.test: Likewise.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
ChangeLog
NEWS
doc/Makefile.in
lib/am/texinfos.am
tests/instmany-mans.test
tests/instmany-python.test
tests/instmany.test
tests/txinfo26.test

index a6c63a2a108a277cab44036fa071a50e82911b26..c5ed954a920b3d584805a1931eb12efac9242773 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2008-11-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       Multiple 'make uninstall' should not fail even for TEXINFOS.
+       * lib/am/texinfos.am (uninstall-info-am): Do not fail due to
+       install-info if the installed file does not exist (any more).
+       * tests/txinfo26.test: Issue multiple `make uninstall'.
+       * tests/instmany-mans.test: Likewise.
+       * tests/instmany-python.test: Likewise.
+       * tests/instmany.test: Likewise.
+       * tests/txinfo26.test: Likewise.
+       * NEWS: Update.
+
 2008-11-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        New public macro AM_SUBST_NOTMAKE.
diff --git a/NEWS b/NEWS
index 483416593026ffd2c67fcd55d8a4de0878c80345..276e953758282d7af62d5c34247bf7b2cb1733f8 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -73,7 +73,8 @@ New in 1.10a:
     installation directory now, when no build-local scripts are used.
 
     For builtin rules, `make install' now fails reliably if installation
-    of a file failed.
+    of a file failed.  Conversely, `make uninstall' even succeeds when
+    issued multiple times.
 
     These changes may need some adjustments from users:  For example,
     some `install' programs refuse to install multiple copies of the
index a8b4a70f71960cb34bdfd621eede1e5a7d6e8e7c..a64f13cdc1818ea6412c07e7cdc39a1a800342e2 100644 (file)
@@ -355,7 +355,8 @@ uninstall-info-am:
          for file in $$list; do \
            relfile=`echo "$$file" | sed 's|^.*/||'`; \
            echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
-           install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
+           if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
+           then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
          done; \
        else :; fi
        @$(NORMAL_UNINSTALL)
index 9cfc645db4a93b2c0820a8b2d815432b7069f2c5..382a7c8747ca17119a86ad5e35314f81493a3c0c 100644 (file)
@@ -306,8 +306,11 @@ uninstall-info-am:
            relfile=`echo "$$file" | sed 's|^.*/||'`; \
 ## install-info needs the actual info file.  We use the installed one,
 ## rather than relying on one still being in srcdir or builddir.
+## However, `make uninstall && make uninstall' should not fail,
+## so we ignore failure if the file did not exist.
            echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
-           install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
+           if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
+           then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
          done; \
        else :; fi
        @$(NORMAL_UNINSTALL)
index 3f331a6657f64170fa9f84ddf2bc5c76be42fbc4..773fa76ceaa0fae85b964184b5416cb55354cd89 100755 (executable)
@@ -117,6 +117,8 @@ cd build
 $MAKE
 # Try whether native install (or install-sh) works.
 $MAKE install
+# Multiple uninstall should work, too.
+$MAKE uninstall
 $MAKE uninstall
 test `find "$instdir" -type f -print | wc -l` = 0
 
index beace0c1c7706a8219ea15320ee626c3ce938587..9f652379cd5c5f9247bd9a514d24481307373db0 100755 (executable)
@@ -106,6 +106,8 @@ cd build
 $MAKE
 # Try whether native install (or install-sh) works.
 $MAKE install
+# Multiple uninstall should work, too.
+$MAKE uninstall
 $MAKE uninstall
 test `find "$instdir" -type f -print | wc -l` = 0
 
index f67e6faa370ddfb18f345dd68b019ad3e2e7e759..31176d727fe07d7d403fa2ef227d70f78f1b4ec8 100755 (executable)
@@ -132,6 +132,8 @@ cd build
 $MAKE
 # Try whether native install (or install-sh) works.
 $MAKE install
+# Multiple uninstall should work, too.
+$MAKE uninstall
 $MAKE uninstall
 test `find "$instdir" -type f -print | wc -l` = 0
 
index 52a7f782a318e3d514bc682aa243c069aa5debd1..87b4ba6950a0d663243a6eb73fdf8607060e8996 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2003, 2007  Free Software Foundation, Inc.
+# Copyright (C) 2003, 2007, 2008  Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -64,3 +64,6 @@ test -f _inst/info/main.info
 $MAKE uninstall
 test ! -f _inst/info/main.info
 test -f ../main.info
+
+# multiple uninstall should not fail.
+$MAKE uninstall