db_updater: Put parentheses back
[merlin.git] / gen-version.sh
blob1d7ed697a08345b0d5376e4e34ca1db45a02b884
1 #!/bin/sh
3 DEF_VER=v1.1.4-beta
4 revision= patches= version= ver= beta= dirty=
6 # First see if we can use git-describe, then check for a version file
7 # (included in release tarballs). Fall back to default if neither works
8 ver=`git describe --abbrev=12 HEAD 2>/dev/null`
9 if test $? -eq 0; then
10 tag=`git describe --abbrev=0 HEAD 2>/dev/null`
11 case "$ver" in
12 v[0-9]*)
13 git update-index -q --refresh >/dev/null 2>&1
14 test -z "`git diff-index --name-only HEAD --`" ||
15 dirty="-dirty"
16 esac
17 if test "$ver" != "$tag"; then
18 beta=`expr "$ver" : .*[0-9]-'\(beta[0-9]*\)'`
19 revision=`expr "$ver" : '.*\(-g[a-f0-9]*\)$'`
20 version=`expr "$ver" : '\(.*\)-g[a-f0-9*]'`
21 patches=p`expr "$ver" : $tag-'\(.*\)'$revision`
22 ver=`expr "$ver" : v*'\(.*\)'`$dirty
24 version="$tag$patches$revision$dirty"
25 elif test -f version; then
26 ver=`cat version` || ver="$DEF_VER"
27 else
28 version="$DEF_VER"
30 cat << EOF > version.c
31 #include "shared.h"
32 const char *merlin_version = "$version";
33 EOF
34 echo "version.c created with merlin_version = $version"
35 exit 0
36 echo "beta=$beta"
37 echo "patches=$patches"
38 echo "version=$version"
39 echo "revision=$revision"
40 echo "tag=$tag"
41 echo "ver=$ver"