2012-10-22 08:08:41 +04:00
#!/bin/sh
#
# mkversion.sh - extract version string from git branch
#
# Copyright (C) Amitay Isaacs 2012
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 3 of the License, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, see <http://www.gnu.org/licenses/>.
#
#
# Common code to generate CTDB version string
#
2012-10-30 04:47:24 +04:00
OUTPUT = $1
if [ -z " $OUTPUT " ] ; then
2013-05-22 08:23:17 +04:00
OUTPUT = "include/ctdb_version.h"
2012-10-30 04:47:24 +04:00
fi
2014-05-25 06:00:59 +04:00
VERSION = $2
RELEASE = 1
2012-10-22 08:08:41 +04:00
# We use tags and determine the version, as follows:
# ctdb-0.9.1 (First release of 0.9).
# ctdb-0.9.23 (23rd minor release of the 112 version)
#
# If we're not directly on a tag, this is a devel release; we append
# .0.<patchnum>.<checksum>.devel to the release.
2014-05-25 06:00:59 +04:00
if [ -z " $VERSION " ] ; then
2013-11-28 05:23:57 +04:00
TAG = ` git describe --match "samba-*" `
2012-10-22 08:08:41 +04:00
case " $TAG " in
2013-11-28 05:23:57 +04:00
samba-*)
TAG = ${ TAG ##samba- }
2012-10-22 08:08:41 +04:00
case " $TAG " in
*-*-g*) # 0.9-168-ge6cf0e8
# Not exactly on tag: devel version.
VERSION = ` echo " $TAG " | sed 's/\([^-]\+\)-\([0-9]\+\)-\(g[0-9a-f]\+\)/\1.0.\2.\3.devel/' `
2013-07-26 07:57:03 +04:00
RELEASE = 1
2012-10-22 08:08:41 +04:00
; ;
*)
# An actual release version
VERSION = $TAG
2013-07-26 07:57:03 +04:00
RELEASE = 1
2012-10-22 08:08:41 +04:00
; ;
esac
; ;
*)
echo Invalid tag " $TAG " >& 2
; ;
esac
2012-10-30 04:47:24 +04:00
2015-10-23 05:05:20 +03:00
else
# If building from tarball, Samba version creation will create
# VERSION with UNKNOWN git hash.
case " $VERSION " in
*UNKNOWN)
if [ -f ../include/ctdb_version.h ] ; then
VERSION = $( awk -F \" '/CTDB_VERSION_STRING/ {print $2}' ../include/ctdb_version.h)
fi
; ;
esac
2014-05-25 06:00:59 +04:00
fi
2012-10-30 04:47:24 +04:00
cat > " $OUTPUT " <<EOF
2015-10-23 05:05:20 +03:00
/* This file is auto-generated by packaging/mkversion.sh */
2012-10-30 04:47:24 +04:00
#define CTDB_VERSION_STRING "$VERSION"
EOF
2013-07-26 07:57:03 +04:00
echo " $VERSION $RELEASE "