NP-VERSION-GEN 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/bin/sh
  2. #
  3. # This is from the Git repository (GIT-VERSION-GEN with modifications)
  4. #
  5. SRC_ROOT=`dirname $0`
  6. NPVF=NP-VERSION-FILE
  7. DEF_VER=1.5.git
  8. LF='
  9. '
  10. # First try git-describe, then svn info, then default.
  11. if test -d $SRC_ROOT/.git -o -f $SRC_ROOT/.git &&
  12. VN=`cd $SRC_ROOT; git describe --abbrev=4 HEAD 2>/dev/null` &&
  13. case "$VN" in
  14. *$LF*) (exit 1) ;;
  15. release-[0-9]*)
  16. git update-index -q --refresh
  17. test -z "`git diff-index --name-only HEAD --`" ||
  18. VN="$VN-dirty" ;;
  19. esac
  20. then
  21. VN=`echo "$VN" | sed -e 's/^release-//' | sed -e 's/-/./g'`;
  22. elif test -d $SRC_ROOT/.svn -o -f $SRC_ROOT/.svn &&
  23. VN=`cd $SRC_ROOT; svn info 2>/dev/null | grep '^Revision'` &&
  24. case "$VN" in
  25. *$LF*) (exit 1) ;;
  26. Revision:*)
  27. VN=`echo $VN | awk '{print $NF}'`
  28. test "`svn status 2>/dev/null | grep '^[AMD]' | wc -l | tr -d ' '`" = 0 ||
  29. VN="$VN-dirty" ;;
  30. esac
  31. then
  32. VN=`echo "trunk.$VN" | sed -e 's/-/./g'`;
  33. else
  34. VN="$DEF_VER"
  35. fi
  36. VN=`expr "$VN" : v*'\(.*\)'`
  37. if test -r $NPVF
  38. then
  39. VC=`sed -e 's/^NP_VERSION = //' <$NPVF`
  40. else
  41. VC=unset
  42. fi
  43. test "$VN" = "$VC" || {
  44. echo >&2 "NP_VERSION = $VN"
  45. echo "NP_VERSION = $VN" >$NPVF
  46. }