diff options
author | Mauro Carvalho Chehab <mchehab@kernel.org> | 2022-03-16 15:59:58 +0100 |
---|---|---|
committer | Petri Latvala <petri.latvala@intel.com> | 2022-03-21 18:34:59 +0200 |
commit | c078ba892ba931aa2f54e4760b8306cde8b3ba51 (patch) | |
tree | a4a4b824d416e6057ae1cee81f5c102d3feaae0b /scripts | |
parent | 4c6eab51e1078f273ed6e53d8490166089592392 (diff) |
scripts/code_cov_gather_on_build.sh: Improve the script
- speedup the script by allowing Sparse file detection instead
of libz compression;
- use realpath for the paths to allow running them from everywhere;
- Speedup tarball generation by limiting the source file scope to
the DRM subsystem;
- Indent with tabs instead of spaces.
Reviewed-by: Tomi Sarvela <tomi.p.sarvela@intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/code_cov_gather_on_build.sh | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/scripts/code_cov_gather_on_build.sh b/scripts/code_cov_gather_on_build.sh index 99c436f7..eebee89f 100755 --- a/scripts/code_cov_gather_on_build.sh +++ b/scripts/code_cov_gather_on_build.sh @@ -4,20 +4,36 @@ KSRC=$1 KOBJ=$2 DEST=$3 +# Limit scope in order to speedup tarball creation +GCOV_SCOPE=drivers/gpu/drm/ + if [ -z "$KSRC" ] || [ -z "$KOBJ" ] || [ -z "$DEST" ]; then - echo "Usage: $0 <ksrc directory> <kobj directory> <output.tar.gz>" >&2 - exit 1 + echo "Usage: $0 <ksrc directory> <kobj directory> <output.tar[.gz]>" >&2 + exit 1 +fi + +if [ "x$(echo $DEST|grep '\.gz')" != "x" ]; then + TAR_COMPRESS="z" +else + # gcno files are sparsed. So, if no compression is used, store the + # results as a sparse file, in order to save disk space + TAR_COMPRESS="S" fi -KSRC=$(cd $KSRC; printf "all:\n\t@echo \${CURDIR}\n" | make -f -) -KOBJ=$(cd $KOBJ; printf "all:\n\t@echo \${CURDIR}\n" | make -f -) +KSRC=$(realpath $KSRC) +KOBJ=$(realpath $KOBJ) + +# Source files +SRCS="${KSRC}/include ${KSRC}/arch/x86/include $(find ${KSRC}/${GCOV_SCOPE} -name '*.[ch]')" + +# Generated gcno files and links +OBJS="$(find $KOBJ/${GCOV_SCOPE} \( -name '*.gcno' -o -name '*.[ch]' -o -type l \) -a -perm /u+r,g+r)" -find $KSRC $KOBJ \( -name '*.gcno' -o -name '*.[ch]' -o -type l \) -a \ - -perm /u+r,g+r | tar cfz $DEST -P -T - +tar cf${TAR_COMPRESS} $DEST $SRCS $OBJS if [ $? -eq 0 ] ; then - echo "$DEST successfully created, copy to test system and unpack with:" - echo " tar xfz $DEST -P" + echo "$DEST successfully created, copy to test system and unpack with:" + echo " tar xf${TAR_COMPRESS} $DEST" else - echo "Could not create file $DEST" + echo "Could not create file $DEST" fi |