diff options
author | Guillem Jover <guillem@hadrons.org> | 2009-12-13 01:52:03 +0100 |
---|---|---|
committer | Guillem Jover <guillem@hadrons.org> | 2010-01-10 13:36:38 +0100 |
commit | 9e4adc4633b321bf4f3f41feeac7597162cf88f9 (patch) | |
tree | 0aa9760774ae751fd974133142ba8c3817d65ee6 /get-version | |
parent | db406fe24ce18ddce4aa0c5985a77233347d3f27 (diff) |
build: Untangle the package version from the soversion
Add a new script to generate the package version from git. Use that for
the pkg-config file and the tarball name.
Diffstat (limited to 'get-version')
-rwxr-xr-x | get-version | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/get-version b/get-version new file mode 100755 index 0000000..5608445 --- /dev/null +++ b/get-version @@ -0,0 +1,48 @@ +#!/bin/sh +# +# get-version +# +# Copyright © 2009 Guillem Jover <guillem@hadrons.org> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +# THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +if [ -f .dist-version ]; then + # Get the version from the file distributed in the tarball. + version=$(cat .dist-version) +elif [ -d .git ]; then + # Ger the version from the git repository. + version=$(git describe --abbrev=4 HEAD 2>/dev/null) + + # Check if we are on a dirty checkout. + git update-index --refresh -q >/dev/null + dirty=$(git diff-index --name-only HEAD 2>/dev/null) + if [ -n "$dirty" ]; then + version="$version-dirty" + fi +else + echo "error: cannot get project version." 1>&2 + exit 1 +fi + +echo "$version" + |