File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / dnsmasq / bld / get-version
Revision 1.1.1.5 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Sep 27 11:02:07 2023 UTC (11 months, 3 weeks ago) by misho
Branches: elwix, dnsmasq, MAIN
CVS tags: v8_2p1, HEAD
Version 8.2p1

    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: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>