|
Packit |
3ff1e7 |
#!/bin/sh
|
|
Packit |
3ff1e7 |
#
|
|
Packit |
3ff1e7 |
# libquvi
|
|
Packit |
3ff1e7 |
# Copyright (C) 2012 Toni Gundogdu <legatvs@gmail.com>
|
|
Packit |
3ff1e7 |
#
|
|
Packit |
3ff1e7 |
# This file is part of libquvi <http://quvi.sourceforge.net/>.
|
|
Packit |
3ff1e7 |
#
|
|
Packit |
3ff1e7 |
# This program is free software: you can redistribute it and/or
|
|
Packit |
3ff1e7 |
# modify it under the terms of the GNU Affero General Public
|
|
Packit |
3ff1e7 |
# License as published by the Free Software Foundation, either
|
|
Packit |
3ff1e7 |
# version 3 of the License, or (at your option) any later version.
|
|
Packit |
3ff1e7 |
#
|
|
Packit |
3ff1e7 |
# This program is distributed in the hope that it will be useful,
|
|
Packit |
3ff1e7 |
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
3ff1e7 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
Packit |
3ff1e7 |
# GNU Affero General Public License for more details.
|
|
Packit |
3ff1e7 |
#
|
|
Packit |
3ff1e7 |
# You should have received a copy of the GNU Affero General
|
|
Packit |
3ff1e7 |
# Public License along with this program. If not, see
|
|
Packit |
3ff1e7 |
# <http://www.gnu.org/licenses/>.
|
|
Packit |
3ff1e7 |
#
|
|
Packit |
3ff1e7 |
dir=`dirname $0`
|
|
Packit |
3ff1e7 |
o=
|
|
Packit |
3ff1e7 |
# flags:
|
|
Packit |
3ff1e7 |
m= # dump major and minor only
|
|
Packit |
3ff1e7 |
c= # strip off the 'v' prefix
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
# VERSION file is part of the dist tarball.
|
|
Packit |
3ff1e7 |
from_VERSION_file()
|
|
Packit |
3ff1e7 |
{
|
|
Packit |
3ff1e7 |
o=`cat "$dir/VERSION" 2>/dev/null`
|
|
Packit |
3ff1e7 |
}
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
from_git_describe()
|
|
Packit |
3ff1e7 |
{
|
|
Packit |
3ff1e7 |
[ -d "$dir/.git" -o -f "$dir/.git" ] && {
|
|
Packit |
3ff1e7 |
o=`git describe --match "v[0-9]*" --abbrev=4 HEAD 2>/dev/null`
|
|
Packit |
3ff1e7 |
}
|
|
Packit |
3ff1e7 |
}
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
make_vn_mm()
|
|
Packit |
3ff1e7 |
{
|
|
Packit |
3ff1e7 |
j=`expr "$o" : 'v\([0-9]\)'`
|
|
Packit |
3ff1e7 |
n=`expr "$o" : 'v[0-9]\.\([0-9]*[0-9]\)'`
|
|
Packit |
3ff1e7 |
o="v$j.$n"
|
|
Packit |
3ff1e7 |
}
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
dump_vn()
|
|
Packit |
3ff1e7 |
{
|
|
Packit |
3ff1e7 |
[ -n "$m" ] && make_vn_mm
|
|
Packit |
3ff1e7 |
[ -n "$c" ] && o=${o#v} # strip off the 'v' prefix.
|
|
Packit |
3ff1e7 |
echo $o
|
|
Packit |
3ff1e7 |
exit 0
|
|
Packit |
3ff1e7 |
}
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
help()
|
|
Packit |
3ff1e7 |
{
|
|
Packit |
3ff1e7 |
echo "$0 [OPTIONS]
|
|
Packit |
3ff1e7 |
-h Show this help and exit
|
|
Packit |
3ff1e7 |
-c Strip off the 'v' prefix from the output
|
|
Packit |
3ff1e7 |
-m Output the major.minor -pair only"
|
|
Packit |
3ff1e7 |
exit 0
|
|
Packit |
3ff1e7 |
}
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
while [ $# -gt 0 ]
|
|
Packit |
3ff1e7 |
do
|
|
Packit |
3ff1e7 |
case "$1" in
|
|
Packit |
3ff1e7 |
-m) m=1;;
|
|
Packit |
3ff1e7 |
-c) c=1;;
|
|
Packit |
3ff1e7 |
-h) help;;
|
|
Packit |
3ff1e7 |
*) break;;
|
|
Packit |
3ff1e7 |
esac
|
|
Packit |
3ff1e7 |
shift
|
|
Packit |
3ff1e7 |
done
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
from_VERSION_file
|
|
Packit |
3ff1e7 |
[ -z "$o" ] && from_git_describe
|
|
Packit |
3ff1e7 |
[ -n "$o" ] && dump_vn
|
|
Packit |
3ff1e7 |
exit 1
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
# vim: set ts=2 sw=2 tw=72 expandtab:
|