[pacman-dev] [PATCH v2 1/2] libmakepkg: fix reporting of invalid archive extensions in compress.sh

Eli Schwartz eschwartz at archlinux.org
Tue Mar 12 17:28:27 UTC 2019


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 at archlinux.org>
---
 scripts/libmakepkg/util/compress.sh.in | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/scripts/libmakepkg/util/compress.sh.in b/scripts/libmakepkg/util/compress.sh.in
index 3d4d88fd..9e3150f7 100644
--- a/scripts/libmakepkg/util/compress.sh.in
+++ b/scripts/libmakepkg/util/compress.sh.in
@@ -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
-- 
2.21.0


More information about the pacman-dev mailing list