summaryrefslogtreecommitdiffstats
path: root/contrib/ofed/management/gen_ver.sh
blob: 93882d4566631b8c92d9fd84941be0456a2cc320 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/sh
#
# This generates a version string which includes recent version as
# specified in correspondent sub project's configure.in file, plus
# git revision abbreviation in the case if sub-project HEAD is different
# from recent tag, plus "-dirty" suffix if local uncommitted changes are
# in the sub project tree.
#

usage()
{
	echo "Usage: $0 <target>"
	exit 2
}

test -z "$1" && usage

package=$1

cd `dirname $0`

conf_file=$package/configure.in
version=`cat $conf_file | sed -ne '/AC_INIT.*'$package'.*/s/^AC_INIT.*'$package', \(.*\),.*$/\1/p'`

git diff --quiet $package-$version..HEAD -- $package > /dev/null 2>&1
if [ $? -eq 1 ] ; then
	abbr=`git rev-parse --short --verify HEAD 2>/dev/null`
	if [ ! -z "$abbr" ] ; then
		version="${version}_${abbr}"
	fi
fi

git diff-index --quiet HEAD -- $package > /dev/null 2>&1
if [ $? -eq 1 ] ; then
	version="${version}_dirty"
fi

echo $version
OpenPOWER on IntegriCloud