Perform the s,rm,/bin/rm, fix-up properly. No more kludge.
authorJim Meyering <jim@meyering.net>
Thu, 30 Aug 2007 08:47:11 +0000 (10:47 +0200)
committerJim Meyering <jim@meyering.net>
Thu, 30 Aug 2007 15:28:12 +0000 (17:28 +0200)
* Makefile.am (EXTRA_DIST): Remove .kludge-stamp.
(.kludge-stamp): Remove rule.  Instead, ...
(dist-hook): Do the job here, operating on the file in $(distdir).
(rm_subst): Adjust regexp to match "rm -f rm$(EXEEXT)", not "rm -f rm".
(MAINTAINERCLEANFILES): s/+=/=/, now that this is the sole use.
(dist-hook): Remove the legacy-from-cvs install-sh is-executable check.
* .gitignore: Remove .kludge-stamp.

Signed-off-by: Jim Meyering <jim@meyering.net>
.gitignore
ChangeLog
Makefile.am

index d231c96..762797e 100644 (file)
@@ -5,7 +5,6 @@
 */.deps
 *~
 .gdb-history
-.kludge-stamp
 .version
 ABOUT-NLS
 INSTALL
index 7c1b36f..a643636 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2007-08-30  Jim Meyering  <jim@meyering.net>
+
+       Perform the s,rm,/bin/rm, fix-up properly.  No more kludge.
+       * Makefile.am (EXTRA_DIST): Remove .kludge-stamp.
+       (.kludge-stamp): Remove rule.  Instead, ...
+       (dist-hook): Do the job here, operating on the file in $(distdir).
+       (rm_subst): Adjust regexp to match "rm -f rm$(EXEEXT)", not "rm -f rm".
+       (MAINTAINERCLEANFILES): s/+=/=/, now that this is the sole use.
+       (dist-hook): Remove the legacy-from-cvs install-sh is-executable check.
+       * .gitignore: Remove .kludge-stamp.
+
+       Make inter-release --version output more useful.
+       Now, each snapshot has a version "number" like 6.9-219-g58ddd,
+       which indicates that it is built using the 219th change set
+       (in _some_ repository) following the "v6.9" tag, and that 58ddd
+       is a prefix of the commit SHA1.
+       * build-aux/git-version-gen: New file.
+       * configure.ac: Run it to set the version.
+       * Makefile.am (dist-hook): Arrange so that .version appears only
+       in distribution tarballs, never in a checked-out repository.
+       * .gitignore: Add .version here, too.  Just in case.
+
 2007-08-30  Eric Blake  <ebb9@byu.net>
 
        * src/.gitignore: Ignore *.exe for platforms with non-empty $(EXEEXT).
        * configure.ac (AC_CHECK_DECLS): No need to check strtoimax,
        strtoumax, since gnulib does this.
 
-2007-08-29  Jim Meyering  <jim@meyering.net>
-
-       Make inter-release --version output more useful.
-       Now, each snapshot has a version "number" like 6.9-219-g58ddd,
-       which indicates that it is built using the 219th change set
-       (in _some_ repository) following the "v6.9" tag, and that 58ddd
-       is a prefix of the commit SHA1.
-       * build-aux/git-version-gen: New file.
-       * configure.ac: Run it to set the version.
-       * Makefile.am (dist-hook): Arrange so that .version appears only
-       in distribution tarballs, never in a checked-out repository.
-       * .gitignore: Add .version here, too.  Just in case.
+2007-08-30  Jim Meyering  <jim@meyering.net>
 
        Ensure that TMPDIR is valid.  Otherwise, it would cause test failures.
        * tests/misc/tty-eof: Set TMPDIR=.
index dad84fb..8136526 100644 (file)
@@ -17,7 +17,7 @@
 
 SUBDIRS = lib src doc man po tests
 EXTRA_DIST = Makefile.cfg Makefile.maint GNUmakefile \
-  .kludge-stamp .prev-version THANKS-to-translators THANKStt.in \
+  .prev-version THANKS-to-translators THANKStt.in \
   .vg-suppressions \
   .x-po-check \
   .x-sc_file_system .x-sc_obsolete_symbols \
@@ -54,15 +54,6 @@ ACLOCAL_AMFLAGS = -I m4
 check-root:
        cd tests && $(MAKE) $@
 
-# Arrange so that .version appears only in distribution tarballs,
-# never in a checked-out repository.
-dist-hook:
-       echo $(VERSION) > $(distdir)/.version
-       test -x $(srcdir)/build-aux/install-sh
-
-distcheck-hook:
-       $(MAKE) my-distcheck
-
 # Just prior to distribution, ...
 # transform the automake-generated rule that runs `rm -f rm'.
 # On some systems, that command would fail with a diagnostic like
@@ -70,16 +61,21 @@ distcheck-hook:
 # in the shell's search path that running `rm' would run the `rm'
 # executable in the current directory.
 # Similarly, adjust the clean-binPROGRAMS rule.
-
 rm_subst = \
-  s!(rm -f (rm|\$$\(bin_PROGRAMS\)))$$!$$1 > /dev/null 2>&1 || /bin/$$1!
-MAINTAINERCLEANFILES = .kludge-stamp
-.kludge-stamp: $(srcdir)/src/Makefile.in
-       perl -pi -e '$(rm_subst)' $(srcdir)/src/Makefile.in
-       touch $@
+  s!(rm -f (rm\b|\$$\(bin_PROGRAMS\)$$))!$$1 > /dev/null 2>&1 || /bin/$$1!
+
+# Arrange so that .version appears only in distribution tarballs,
+# never in a checked-out repository.
+# The perl substitution is to change some key uses of "rm" to "/bin/rm".
+# See the rm_subst comment for details.
+dist-hook:
+       echo $(VERSION) > $(distdir)/.version
+       perl -pi -e '$(rm_subst)' $(distdir)/src/Makefile.in
 
+distcheck-hook:
+       $(MAKE) my-distcheck
 
-MAINTAINERCLEANFILES += THANKS-to-translators
+MAINTAINERCLEANFILES = THANKS-to-translators
 THANKS-to-translators: po/LINGUAS THANKStt.in
        (                                                               \
          cat $(srcdir)/THANKStt.in;                                    \