git-version-gen: take a sed script to transform the git tag
authorLudovic Courtès <ludo@gnu.org>
Fri, 28 May 2010 10:15:23 +0000 (12:15 +0200)
committerJim Meyering <meyering@redhat.com>
Fri, 28 May 2010 15:22:17 +0000 (17:22 +0200)
* build-aux/git-version-gen (tag_sed_script): New variable.  Use it to
transform the output of "git describe" to the canonical form.
* top/GNUmakefile (_curr-ver): Pass $(git-version-gen-tag-sed-script) as
a second argument to `git-version-gen'.

build-aux/git-version-gen
top/GNUmakefile

index 5a7e989..9b821e0 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Print a version string.
-scriptversion=2010-04-26.16; # UTC
+scriptversion=2010-05-28.15; # UTC
 
 # Copyright (C) 2007-2010 Free Software Foundation, Inc.
 #
@@ -67,11 +67,14 @@ scriptversion=2010-04-26.16; # UTC
 #      echo $(VERSION) > $(distdir)/.tarball-version
 
 case $# in
-    1) ;;
-    *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version"; exit 1;;
+    1|2) ;;
+    *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version" \
+         '[TAG-NORMALIZATION-SED-SCRIPT]'
+       exit 1;;
 esac
 
 tarball_version_file=$1
+tag_sed_script="${2:-s/x/x/}"
 nl='
 '
 
@@ -95,6 +98,7 @@ then
 elif test -d .git \
     && v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \
          || git describe --abbrev=4 HEAD 2>/dev/null` \
+    && v=`printf '%s\n' "$v" | sed "$tag_sed_script"` \
     && case $v in
         v[0-9]*) ;;
         *) (exit 1) ;;
index daba47a..97fea36 100644 (file)
@@ -60,8 +60,10 @@ ifeq ($(_have-git-version-gen)0,yes$(MAKELEVEL))
     $(filter maintainer-% dist% alpha beta major,$(MAKECMDGOALS)))
   _is-install-target ?= $(filter-out %check, $(filter install%,$(MAKECMDGOALS)))
   ifneq (,$(_is-dist-target)$(_is-install-target))
-    _curr-ver := $(shell cd $(srcdir) \
-                   && $(_build-aux)/git-version-gen .tarball-version)
+    _curr-ver := $(shell cd $(srcdir)                          \
+                   && $(_build-aux)/git-version-gen            \
+                         .tarball-version                      \
+                         $(git-version-gen-tag-sed-script))
     ifneq ($(_curr-ver),$(VERSION))
       ifeq ($(_curr-ver),UNKNOWN)
         $(info WARNING: unable to verify if $(VERSION) is the correct version)