162306a36Sopenharmony_ci#!/bin/sh 262306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 362306a36Sopenharmony_ci 462306a36Sopenharmony_ciif [ $# -eq 1 ] ; then 562306a36Sopenharmony_ci OUTPUT=$1 662306a36Sopenharmony_cifi 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciGVF=${OUTPUT}PERF-VERSION-FILE 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ciLF=' 1162306a36Sopenharmony_ci' 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci# 1462306a36Sopenharmony_ci# Use version from kernel Makefile unless not in a git repository and 1562306a36Sopenharmony_ci# PERF-VERSION-FILE exists 1662306a36Sopenharmony_ci# 1762306a36Sopenharmony_ciCID= 1862306a36Sopenharmony_ciTAG= 1962306a36Sopenharmony_ciif test -d ../../.git -o -f ../../.git 2062306a36Sopenharmony_cithen 2162306a36Sopenharmony_ci TAG=$(MAKEFLAGS= make -sC ../.. kernelversion) 2262306a36Sopenharmony_ci CID=$(git log -1 --abbrev=12 --pretty=format:"%h" --no-show-signature 2>/dev/null) && CID="-g$CID" 2362306a36Sopenharmony_cielif test -f ../../PERF-VERSION-FILE 2462306a36Sopenharmony_cithen 2562306a36Sopenharmony_ci TAG=$(cut -d' ' -f3 ../../PERF-VERSION-FILE | sed -e 's/\"//g') 2662306a36Sopenharmony_cifi 2762306a36Sopenharmony_ciif test -z "$TAG" 2862306a36Sopenharmony_cithen 2962306a36Sopenharmony_ci TAG=$(MAKEFLAGS= make -sC ../.. kernelversion) 3062306a36Sopenharmony_cifi 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciVN="$TAG$CID" 3362306a36Sopenharmony_ciif test -n "$CID" 3462306a36Sopenharmony_cithen 3562306a36Sopenharmony_ci # format version string, strip trailing zero of sublevel: 3662306a36Sopenharmony_ci VN=$(echo "$VN" | sed -e 's/-/./g;s/\([0-9]*[.][0-9]*\)[.]0/\1/') 3762306a36Sopenharmony_cifi 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ciVN=$(expr "$VN" : v*'\(.*\)') 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ciif test -r $GVF 4262306a36Sopenharmony_cithen 4362306a36Sopenharmony_ci VC=$(sed -e 's/^#define PERF_VERSION "\(.*\)"/\1/' <$GVF) 4462306a36Sopenharmony_cielse 4562306a36Sopenharmony_ci VC=unset 4662306a36Sopenharmony_cifi 4762306a36Sopenharmony_citest "$VN" = "$VC" || { 4862306a36Sopenharmony_ci echo >&2 " PERF_VERSION = $VN" 4962306a36Sopenharmony_ci echo "#define PERF_VERSION \"$VN\"" >$GVF 5062306a36Sopenharmony_ci} 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci 53