@@ -29,21 +29,21 @@ source "$LIBRARY/util/message.sh"
# Wrapper around many stream compression formats, for use in the middle of a
# pipeline. A tar archive is passed on stdin and compressed to stdout.
compress_as() {
- # $1: final archive filename extension for compression type detection
+ # $1: final archive filename extension for compression type detection
- local filename="$1"
+ local ext=".tar${1##*.tar}"
- case "$filename" in
- *tar.gz) ${COMPRESSGZ[@]:-gzip -c -f -n} ;;
- *tar.bz2) ${COMPRESSBZ2[@]:-bzip2 -c -f} ;;
- *tar.xz) ${COMPRESSXZ[@]:-xz -c -z -} ;;
- *tar.zst) ${COMPRESSZST[@]:-zstd -c -z -q -} ;;
- *tar.lrz) ${COMPRESSLRZ[@]:-lrzip -q} ;;
- *tar.lzo) ${COMPRESSLZO[@]:-lzop -q} ;;
- *tar.Z) ${COMPRESSZ[@]:-compress -c -f} ;;
- *tar.lz4) ${COMPRESSLZ4[@]:-lz4 -q} ;;
- *tar.lz) ${COMPRESSLZ[@]:-lzip -c -f} ;;
- *tar) cat ;;
+ case "$ext" in
+ *.tar.gz) ${COMPRESSGZ[@]:-gzip -c -f -n} ;;
+ *.tar.bz2) ${COMPRESSBZ2[@]:-bzip2 -c -f} ;;
+ *.tar.xz) ${COMPRESSXZ[@]:-xz -c -z -} ;;
+ *.tar.zst) ${COMPRESSZST[@]:-zstd -c -z -q -} ;;
+ *.tar.lrz) ${COMPRESSLRZ[@]:-lrzip -q} ;;
+ *.tar.lzo) ${COMPRESSLZO[@]:-lzop -q} ;;
+ *.tar.Z) ${COMPRESSZ[@]:-compress -c -f} ;;
+ *.tar.lz4) ${COMPRESSLZ4[@]:-lz4 -q} ;;
+ *.tar.lz) ${COMPRESSLZ[@]:-lzip -c -f} ;;
+ *.tar) cat ;;
*) warning "$(gettext "'%s' is not a valid archive extension.")" \
"$ext"; cat ;;
esac
In commit 1825bd6716c2a51c92642e8b96beac0101e83805 this was split out from makepkg, but the warning was not properly migrated; $ext did not ever exist. As a result, no matter what you did, the only possible warning was: ==> WARNING: '' is not a valid archive extension. Fix to filter based on the presence of .tar in the argument, and building the $ext variable for all checking and messaging purposes within the function. Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> --- scripts/libmakepkg/util/compress.sh.in | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-)