mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-05 18:39:59 +00:00
![Veronika Kabatova](/assets/img/avatar_default.png)
The gen_kselftest_tar.sh always packages *all* selftests and doesn't pass along any variables to `make install` to influence what should be built. This can result in an early error on the command line ("Unknown tarball format TARGETS=XXX"), or unexpected test failures as the tarball contains tests people wanted to skip on purpose. Since the makefile already contains all the logic, we can add a target for packaging. Keep the default .gz target the script uses, and actually extend the supported formats by using tar's autodetection. To not break current workflows, keep the gen_kselftest_tar.sh script as it is, with an added suggestion to use the makefile target instead. Signed-off-by: Veronika Kabatova <vkabatov@redhat.com> Reviewed-by: Stefano Brivio <sbrivio@redhat.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
63 lines
1.3 KiB
Bash
Executable file
63 lines
1.3 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
# gen_kselftest_tar
|
|
# Generate kselftest tarball
|
|
# Author: Shuah Khan <shuahkh@osg.samsung.com>
|
|
# Copyright (C) 2015 Samsung Electronics Co., Ltd.
|
|
|
|
# main
|
|
main()
|
|
{
|
|
if [ "$#" -eq 0 ]; then
|
|
echo "$0: Generating default compression gzip"
|
|
copts="cvzf"
|
|
ext=".tar.gz"
|
|
else
|
|
case "$1" in
|
|
tar)
|
|
copts="cvf"
|
|
ext=".tar"
|
|
;;
|
|
targz)
|
|
copts="cvzf"
|
|
ext=".tar.gz"
|
|
;;
|
|
tarbz2)
|
|
copts="cvjf"
|
|
ext=".tar.bz2"
|
|
;;
|
|
tarxz)
|
|
copts="cvJf"
|
|
ext=".tar.xz"
|
|
;;
|
|
*)
|
|
echo "Unknown tarball format $1"
|
|
exit 1
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
# 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 "$install_dir"
|
|
(cd "$install_work"; tar $copts "$dest"/kselftest${ext} $install_name)
|
|
|
|
# Don't put the message at the actual end as people may be parsing the
|
|
# "archive created" line in their scripts.
|
|
echo -e "\nConsider using 'make gen_tar' instead of this script\n"
|
|
|
|
echo "Kselftest archive kselftest${ext} created!"
|
|
|
|
# clean up top-level install work directory
|
|
rm -rf "$install_work"
|
|
}
|
|
|
|
main "$@"
|