We *do* need two different version files.
authorJim Meyering <meyering@redhat.com>
Thu, 7 Feb 2008 22:30:07 +0000 (23:30 +0100)
committerJim Meyering <meyering@redhat.com>
Thu, 7 Feb 2008 22:31:17 +0000 (23:31 +0100)
One for tarball-only, the other to be updated any time we
get a new value of $(VERSION).
* Makefile.am (dist-hook): Create .tarball-version in dist tarball.
* GNUmakefile (_curr-ver): Make git-version-gen use it.
* .gitignore: Ignore it.

.gitignore
ChangeLog
GNUmakefile
Makefile.am

index 5983d4c..a3d4190 100644 (file)
@@ -5,6 +5,7 @@
 */.deps
 *~
 .gdb-history
+.tarball-version
 ABOUT-NLS
 INSTALL
 Makefile
index 0cc95ce..c0b9743 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2008-02-07  Jim Meyering  <meyering@redhat.com>
 
+       We *do* need two different version files.
+       One for tarball-only, the other to be updated any time we
+       get a new value of $(VERSION).
+       * Makefile.am (dist-hook): Create .tarball-version in dist tarball.
+       * GNUmakefile (_curr-ver): Make git-version-gen use it.
+       * .gitignore: Ignore it.
+
        Fix a typo in description of size suffixes: s/GB/G/.
        * doc/coreutils.texi (od invocation, head invocation, tail invocation):
        Spotted by Bert Wesarg.
index af73b7e..5f17049 100644 (file)
@@ -40,21 +40,26 @@ export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner
 
 include Makefile
 
+_curr-ver := $(VERSION)
+
 # Ensure that $(VERSION) is up to date for dist-related targets, but not
 # for others: running autoreconf and recompiling everything isn't cheap.
 ifeq (0,$(MAKELEVEL))
   _is-dist-target = $(filter dist% alpha beta major,$(MAKECMDGOALS))
   ifneq (,$(_is-dist-target))
-    _curr-ver := $(shell build-aux/git-version-gen .version)
+    _curr-ver := $(shell build-aux/git-version-gen .tarball-version)
     ifneq ($(_curr-ver),$(VERSION))
       $(info INFO: running autoreconf for new version string: $(_curr-ver))
       dummy := $(shell rm -rf autom4te.cache; autoreconf)
-      dummy := $(shell echo $(_curr-ver) > .version)
       _created_version_file = 1
     endif
   endif
 endif
 
+ifneq ($(_curr-ver),$(VERSION))
+  dummy := $(shell echo $(_curr-ver) > .version)
+endif
+
 ifneq ($(_created_version_file),1)
   dummy := $(shell test -f .version || echo $(VERSION) > .version)
 endif
index 79b5089..8205875 100644 (file)
@@ -70,9 +70,12 @@ BUILT_SOURCES = .version
 .version:
        echo $(VERSION) > $@-t && mv $@-t $@
 
+# Arrange so that .tarball-version appears only in the distribution
+# tarball, and 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)/.tarball-version
        perl -pi -e '$(rm_subst)' $(distdir)/src/Makefile.in
 
 distcheck-hook: