kernel/scripts/generate-perf-man.sh
2017-07-11 13:27:04 -05:00

59 lines
1.6 KiB
Bash
Executable File

#!/bin/sh
# Small script to generate the perf-man tarball. The script relies on having
# LINUX_GIT set in your local .bashrc. By default the script will use the
# the kernel version of the upstream tree set in LINUX_GIT. Use --version=x.y
# to set a specific version.
# [Default] eg. ./scritps/generate-perf-man
# eg. ./scripts/generate-perf-man --version=4.8
function usage(){
echo
echo "Helps generate the perf-man tarball "
echo "-h, --help "
echo
echo "./generate-perf-man.sh #Generates using upstream kernel version"
echo
echo "./generate-perf-man.sh --version=x.y #Generate using x.y version"
}
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
if [ ! -d "$LINUX_GIT" ]; then
echo "Error: \$LINUX_GIT is not set to the upstream git tree."
exit 1
fi
BASEDIR=$(dirname "$(cd $(dirname $BASH_SOURCE[0]) && pwd)")
pushd "$LINUX_GIT" > /dev/null
KERNEL_VERSION=$( awk '/^VERSION =/ {print $3}' Makefile )
KERNEL_PATCHLEVEL=$( awk '/^PATCHLEVEL =/ {print $3}' Makefile )
if [ ! -z "$@" ]; then
for opt in "$@"; do
case $opt in
--version=*.*)
version="${opt#*=}"
KERNEL_VERSION=$( awk -F. '{print $1}' <<< $version )
KERNEL_PATCHLEVEL=$( awk -F. '{print $2}' <<< $version )
;;
-h | --help)
usage
exit 0
;;
*)
;;
esac
done
fi
cd tools/kvm/kvm_stat/
make man
mv kvm_stat.1 ../../perf/Documentation
cd ../../perf/Documentation/
make
tar -czvf $BASEDIR/perf-man-${KERNEL_VERSION}.${KERNEL_PATCHLEVEL}.tar.gz *.1
make clean
rm kvm_stat.1
popd