1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 3*4882a593Smuzhiyun# 4*4882a593Smuzhiyun# Script which prints out the version to use for building cpupowerutils. 5*4882a593Smuzhiyun# Must be called from tools/power/cpupower/ 6*4882a593Smuzhiyun# 7*4882a593Smuzhiyun# Heavily based on tools/perf/util/PERF-VERSION-GEN . 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunLF=' 10*4882a593Smuzhiyun' 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun# First check if there is a .git to get the version from git describe 13*4882a593Smuzhiyun# otherwise try to get the version from the kernel makefile 14*4882a593Smuzhiyunif test -d ../../../.git -o -f ../../../.git && 15*4882a593Smuzhiyun VN=$(git describe --abbrev=4 HEAD 2>/dev/null) && 16*4882a593Smuzhiyun case "$VN" in 17*4882a593Smuzhiyun *$LF*) (exit 1) ;; 18*4882a593Smuzhiyun v[0-9]*) 19*4882a593Smuzhiyun git update-index -q --refresh 20*4882a593Smuzhiyun test -z "$(git diff-index --name-only HEAD --)" || 21*4882a593Smuzhiyun VN="$VN-dirty" ;; 22*4882a593Smuzhiyun esac 23*4882a593Smuzhiyunthen 24*4882a593Smuzhiyun VN=$(echo "$VN" | sed -e 's/-/./g'); 25*4882a593Smuzhiyunelse 26*4882a593Smuzhiyun eval $(grep '^VERSION[[:space:]]*=' ../../../Makefile|tr -d ' ') 27*4882a593Smuzhiyun eval $(grep '^PATCHLEVEL[[:space:]]*=' ../../../Makefile|tr -d ' ') 28*4882a593Smuzhiyun eval $(grep '^SUBLEVEL[[:space:]]*=' ../../../Makefile|tr -d ' ') 29*4882a593Smuzhiyun eval $(grep '^EXTRAVERSION[[:space:]]*=' ../../../Makefile|tr -d ' ') 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun VN="${VERSION}.${PATCHLEVEL}.${SUBLEVEL}${EXTRAVERSION}" 32*4882a593Smuzhiyunfi 33*4882a593Smuzhiyun 34*4882a593SmuzhiyunVN=$(expr "$VN" : v*'\(.*\)') 35*4882a593Smuzhiyun 36*4882a593Smuzhiyunecho $VN 37