source: src/router/dnsmasq/bld/get-version @ 31703

Last change on this file since 31703 was 31703, checked in by brainslayer, 4 months ago

latest dnsmasq

  • Property svn:executable set to *
File size: 1.2 KB
Line 
1#!/bin/sh
2
3# Determine the version string to build into a binary.
4# When building in the git repository, we can use the output
5# of "git describe" which gives an unequivocal answer.
6#
7# Failing that, we use the contents of the VERSION file
8# which has a set of references substituted into it by git.
9# If we can find one which matches $v[0-9].* then we assume it's
10# a version-number tag, else we just use the whole string.
11# If there is more than one v[0-9].* tag, sort them and use the
12# first. This favours, eg v2.63 over 2.63rc6.
13
14# Change directory to the toplevel source directory.
15if test -z "$1" || ! test -d "$1" || ! cd "$1"; then
16    echo "$0: First argument $1 must be toplevel dir." >&2
17    exit 1
18fi
19
20if which git >/dev/null 2>&1 && \
21    ([ -d .git ] || grep '^gitdir:' .git >/dev/null 2>&1) && \
22    git describe >/dev/null 2>&1; then
23    git describe | sed 's/^v//'
24elif grep '\$Format:%d\$' $1/VERSION >/dev/null 2>&1; then
25    # unsubstituted VERSION, but no git available.
26    echo UNKNOWN
27else
28     vers=`cat $1/VERSION | sed 's/[(), ]/,/ g' | tr ',' '\n' | grep ^v[0-9]`
29
30     if [ $? -eq 0 ]; then
31         echo "${vers}" | sort -r | head -n 1 | sed 's/^v//'
32     else
33         cat $1/VERSION
34     fi
35fi
36
37exit 0
38
Note: See TracBrowser for help on using the repository browser.