configure.in: Generate version dynamically using version-gen.sh.
authorSebastian Harl <sh@tokkee.org>
Thu, 26 Jul 2007 16:13:18 +0000 (18:13 +0200)
committerFlorian Forster <octo@huhu.verplant.org>
Wed, 22 Aug 2007 14:35:40 +0000 (16:35 +0200)
This dynamically creates the version string when the configure script is
created. If run from within a repository the output of "git describe" is
used to create the version string. Else it defaults to a hardcoded value
which should be something like "$latest_version.git".

The idea is to update the default version to the new version (without
".git" appended) as the last commit of a release cycle. This commit is
tagged as the new version. The next commit after the release will set the
default version to "$new_version.git".

The benefit is that a pre-release with a quite well defined and unique
version can be easily created at any time.

Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure.in
version-gen.sh [new file with mode: 0755]

index 5b3a54a..735ea74 100644 (file)
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT(collectd, 4.0.5)
+AC_INIT(collectd, m4_esyscmd(./version-gen.sh))
 AC_CONFIG_SRCDIR(src/collectd.c)
 AC_CONFIG_HEADERS(src/config.h)
 AM_INIT_AUTOMAKE(dist-bzip2)
diff --git a/version-gen.sh b/version-gen.sh
new file mode 100755 (executable)
index 0000000..510a3a0
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+DEFAULT_VERSION="4.0.5.git"
+
+VERSION="$( git describe 2> /dev/null | sed -e 's/^collectd-//' )"
+
+if test -z "$VERSION"; then
+       VERSION="$DEFAULT_VERSION"
+fi
+
+VERSION=$( echo "$VERSION" | sed -e 's/-/./g' )
+
+echo -n $VERSION
+