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