#!/bin/bash # Author: Thomas Renninger # This code is covered and distributed under # the General Public Licence v2 function usage(){ echo "$(basename $0) [ git_tag [ tag_to_use ] ]" echo echo "git_tag Must be a valid kernel git tag, for example v3.1" echo " if git_tag is not passed HEAD will be used which" echo " may produce a package incompatible tarball name" echo " BEST ALWAYS PASS AN EXISTING TAG" echo " cpupower got introduced in 3.1-rc1" echo "tag_to_use obs does not like -rcX as a version tag. Pass a verion" echo " tag you like to use (e.g. 3.13 instead of 3.13-rc7" echo echo "export GIT_DIR= environment variable if the git repo is not the current directory" echo "For example: GIT_DIR=/path_to_git_repo/.git" } if [ $# -gt 0 ];then if [ "$1" = "-h" ] || [ "$1" == "--help" ];then usage exit 0 fi GIT_TAG="$1" echo "Exporting cpupower from kernel version $GIT_TAG" # convert - to . as package versions do not allow - if [ $# -eq 1 ];then VERSION="${GIT_TAG/-/.}" # remove leading v VERSION="-${VERSION#v}" elif [ $# -eq 2 ];then VERSION="${2/-/.}" # remove leading v VERSION="-${VERSION#v}" elif [ $# -gt 2 ];then usage exit 1 fi else GIT_TAG="HEAD" VERSION="" fi # Tried to do this with one git archive command, but # --remote= param seem not to be configured for kernel.org gits # set -x DIR=`mktemp -d` pushd "$DIR" git archive --format=tar $GIT_TAG tools/power/cpupower |tar -x mv tools/power/cpupower cpupower${VERSION} tar -cvjf cpupower${VERSION}.tar.bz2 cpupower${VERSION} popd TDIR=`mktemp -d` pushd "$TDIR" set -x git archive --format=tar $GIT_TAG tools/power/x86/turbostat |tar -x mv tools/power/x86/turbostat turbostat${VERSION} mkdir turbostat${VERSION}/asm cp "${GIT_DIR}"/../arch/x86/include/uapi/asm/msr-index.h turbostat${VERSION}/asm tar -cvjf turbostat${VERSION}.tar.bz2 turbostat${VERSION} popd mv "$DIR/cpupower${VERSION}".tar.bz2 . rm -rf "$DIR" mv "$TDIR/turbostat${VERSION}".tar.bz2 . rm -rf "$TDIR" # set +x echo cpupower${VERSION}.tar.bz2 echo turbostat${VERSION}.tar.bz2