--- embedaddon/dnsmasq/bld/get-version 2013/07/29 19:37:40 1.1.1.1 +++ embedaddon/dnsmasq/bld/get-version 2021/03/17 00:56:46 1.1.1.4 @@ -11,16 +11,24 @@ # If there is more than one v[0-9].* tag, sort them and use the # first. This favours, eg v2.63 over 2.63rc6. -if which git >/dev/null 2>&1 && [ -d $1/.git ]; then - cd $1; git describe +# Change directory to the toplevel source directory. +if test -z "$1" || ! test -d "$1" || ! cd "$1"; then + echo "$0: First argument $1 must be toplevel dir." >&2 + exit 1 +fi + +if which git >/dev/null 2>&1 && \ + ([ -d .git ] || grep '^gitdir:' .git >/dev/null 2>&1) && \ + git describe >/dev/null 2>&1; then + git describe | sed 's/^v//' elif grep '\$Format:%d\$' $1/VERSION >/dev/null 2>&1; then -# unsubstituted VERSION, but no git available. + # unsubstituted VERSION, but no git available. echo UNKNOWN else vers=`cat $1/VERSION | sed 's/[(), ]/,/ g' | tr ',' '\n' | grep ^v[0-9]` if [ $? -eq 0 ]; then - echo "${vers}" | sort | head -n 1 | sed 's/^v//' + echo "${vers}" | sort -r | head -n 1 | sed 's/^v//' else cat $1/VERSION fi