"Fossies" - the Fresh Open Source Software Archive

Member "dnsmasq-2.85/bld/get-version" (7 Apr 2021, 1410 Bytes) of package /linux/misc/dns/dnsmasq-2.85.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Bash source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "get-version": 2.84_vs_2.85.

    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. The insane arguments to the sort command are to ensure
   13 # that, eg v2.64 comes before v2.63, but v2.63 comes before v2.63rc1
   14 # and v2.63rc1 comes before v2.63test1
   15 
   16 
   17 # Change directory to the toplevel source directory.
   18 if test -z "$1" || ! test -d "$1" || ! cd "$1"; then
   19     echo "$0: First argument $1 must be toplevel dir." >&2
   20     exit 1
   21 fi
   22 
   23 if which git >/dev/null 2>&1 && \
   24     ([ -d .git ] || grep '^gitdir:' .git >/dev/null 2>&1) && \
   25     git describe >/dev/null 2>&1; then 
   26     git describe | sed 's/^v//'
   27 elif grep '\$Format:%d\$' $1/VERSION >/dev/null 2>&1; then
   28     # unsubstituted VERSION, but no git available.
   29     echo UNKNOWN
   30 else
   31      vers=`cat $1/VERSION | sed 's/[(), ]/,/ g' | tr ',' '\n' | grep ^v[0-9]`
   32 
   33      if [ $? -eq 0 ]; then
   34          echo "${vers}" | sort -k1.2,1.5Vr -k1.6,1.6 -k1.8,1.9Vr -k1.10,1.11Vr | head -n 1 | sed 's/^v//'
   35      else
   36          cat $1/VERSION
   37      fi
   38 fi
   39 
   40 exit 0
   41