selftests: gen_kselftest_tar.sh: Do not clobber kselftest/

The default installation location for gen_kselftest_tar.sh was still
"kselftest/" which collides with the existing directory. Instead, this
moves the installation target into "kselftest_install/kselftest/" and
adjusts the tar creation accordingly. This also adjusts indentation and
logic to be consistent.

Fixes: 42d46e57ec ("selftests: Extract single-test shell logic from lib.mk")
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
Kees Cook 2019-10-30 12:46:08 -07:00 committed by Shuah Khan
parent 5b06eeae52
commit ea1bf0bb18
2 changed files with 25 additions and 20 deletions

View File

@ -38,16 +38,21 @@ main()
esac
fi
install_dir=./kselftest
# Create working directory.
dest=`pwd`
install_work="$dest"/kselftest_install
install_name=kselftest
install_dir="$install_work"/"$install_name"
mkdir -p "$install_dir"
# Run install using INSTALL_KSFT_PATH override to generate install
# directory
./kselftest_install.sh
tar $copts kselftest${ext} $install_dir
echo "Kselftest archive kselftest${ext} created!"
# Run install using INSTALL_KSFT_PATH override to generate install
# directory
./kselftest_install.sh "$install_dir"
(cd "$install_work"; tar $copts "$dest"/kselftest${ext} $install_name)
echo "Kselftest archive kselftest${ext} created!"
# clean up install directory
rm -rf kselftest
# clean up top-level install work directory
rm -rf "$install_work"
}
main "$@"

View File

@ -6,30 +6,30 @@
# Author: Shuah Khan <shuahkh@osg.samsung.com>
# Copyright (C) 2015 Samsung Electronics Co., Ltd.
install_loc=`pwd`
main()
{
if [ $(basename $install_loc) != "selftests" ]; then
base_dir=`pwd`
install_dir="$base_dir"/kselftest_install
# Make sure we're in the selftests top-level directory.
if [ $(basename "$base_dir") != "selftests" ]; then
echo "$0: Please run it in selftests directory ..."
exit 1;
fi
# Only allow installation into an existing location.
if [ "$#" -eq 0 ]; then
echo "$0: Installing in default location - $install_loc ..."
echo "$0: Installing in default location - $install_dir ..."
elif [ ! -d "$1" ]; then
echo "$0: $1 doesn't exist!!"
exit 1;
else
install_loc=$1
echo "$0: Installing in specified location - $install_loc ..."
install_dir="$1"
echo "$0: Installing in specified location - $install_dir ..."
fi
install_dir=$install_loc/kselftest_install
# Create install directory
mkdir -p $install_dir
# Build tests
KSFT_INSTALL_PATH=$install_dir make install
# Build tests
KSFT_INSTALL_PATH="$install_dir" make install
}
main "$@"