1 #!/bin/sh 1 #!/bin/sh 2 # SPDX-License-Identifier: GPL-2.0 << 3 2 4 if [ $# -eq 1 ] ; then !! 3 GVF=PERF-VERSION-FILE 5 OUTPUT=$1 !! 4 DEF_VER=v0.0.2.PERF 6 fi << 7 << 8 GVF=${OUTPUT}PERF-VERSION-FILE << 9 5 10 LF=' 6 LF=' 11 ' 7 ' 12 8 13 # !! 9 # First see if there is a version file (included in release tarballs), 14 # Use version from kernel Makefile unless not !! 10 # then try git-describe, then default. 15 # PERF-VERSION-FILE exists !! 11 if test -f version 16 # << 17 CID= << 18 TAG= << 19 if test -d ../../.git -o -f ../../.git << 20 then << 21 TAG=$(MAKEFLAGS= make -sC ../.. kernel << 22 CID=$(git log -1 --abbrev=12 --pretty= << 23 elif test -f ../../PERF-VERSION-FILE << 24 then << 25 TAG=$(cut -d' ' -f3 ../../PERF-VERSION << 26 fi << 27 if test -z "$TAG" << 28 then 12 then 29 TAG=$(MAKEFLAGS= make -sC ../.. kernel !! 13 VN=$(cat version) || VN="$DEF_VER" 30 fi !! 14 elif test -d .git -o -f .git && 31 !! 15 VN=$(git describe --abbrev=4 HEAD 2>/dev/null) && 32 VN="$TAG$CID" !! 16 case "$VN" in 33 if test -n "$CID" !! 17 *$LF*) (exit 1) ;; >> 18 v[0-9]*) >> 19 git update-index -q --refresh >> 20 test -z "$(git diff-index --name-only HEAD --)" || >> 21 VN="$VN-dirty" ;; >> 22 esac 34 then 23 then 35 # format version string, strip trailin !! 24 VN=$(echo "$VN" | sed -e 's/-/./g'); 36 VN=$(echo "$VN" | sed -e 's/-/./g;s/\( !! 25 else >> 26 VN="$DEF_VER" 37 fi 27 fi 38 28 39 VN=$(expr "$VN" : v*'\(.*\)') 29 VN=$(expr "$VN" : v*'\(.*\)') 40 30 41 if test -r $GVF 31 if test -r $GVF 42 then 32 then 43 VC=$(sed -e 's/^#define PERF_VERSION " !! 33 VC=$(sed -e 's/^PERF_VERSION = //' <$GVF) 44 else 34 else 45 VC=unset 35 VC=unset 46 fi 36 fi 47 test "$VN" = "$VC" || { 37 test "$VN" = "$VC" || { 48 echo >&2 " PERF_VERSION = $VN" !! 38 echo >&2 "PERF_VERSION = $VN" 49 echo "#define PERF_VERSION \"$VN\"" >$ !! 39 echo "PERF_VERSION = $VN" >$GVF 50 } 40 } 51 41 52 42
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.