[PATCH] src-release.sh: Support zstd compression

Mark Wielaard mark@klomp.org
Sun May 26 16:49:05 GMT 2024


This adds -z as option to src-release.sh which adds zstd to the list
of compressors. This creates a tar.zst archive.
---
 src-release.sh | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/src-release.sh b/src-release.sh
index 0e95dde18bc3..2377c2b20ee8 100755
--- a/src-release.sh
+++ b/src-release.sh
@@ -26,6 +26,7 @@ BZIPPROG=bzip2
 GZIPPROG=gzip
 LZIPPROG=lzip
 XZPROG=xz
+ZSTDPROG=zstd
 SHA256PROG=sha256sum
 MAKE=make
 CC=gcc
@@ -241,6 +242,16 @@ do_xz()
     $XZPROG -k -v -9 $package-$ver.tar
 }
 
+# Compress the output with zstd
+do_zstd()
+{
+    package=$1
+    ver=$2
+    echo "==> Zzipping $package-$ver.tar.zst"
+    rm -f $package-$ver.tar.zst
+    $ZSTDPROG -k -v -19 -T0 $package-$ver.tar
+}
+
 # Compress the output with all selected compresion methods
 do_compress()
 {
@@ -257,6 +268,8 @@ do_compress()
 		do_lz $package $ver;;
 	    xz)
 		do_xz $package $ver;;
+	    zstd)
+		do_zstd $package $ver;;
 	    *)
 		echo "Unknown compression method: $comp" && exit 1;;
 	esac
@@ -352,6 +365,7 @@ usage()
     echo "  -g: Compress with gzip"
     echo "  -l: Compress with lzip"
     echo "  -x: Compress with xz"
+    echo "  -z: Compress with zstd"
     echo "  -r <date>: Create a reproducible tarball using <date> as the mtime"
     exit 1
 }
@@ -376,7 +390,7 @@ build_release()
 
 compressors=""
 
-while getopts ":bglr:x" opt; do
+while getopts ":bglr:xz" opt; do
     case $opt in
 	b)
 	    compressors="$compressors bz2";;
@@ -388,6 +402,8 @@ while getopts ":bglr:x" opt; do
 	    release_date=$OPTARG;;
 	x)
 	    compressors="$compressors xz";;
+	z)
+	    compressors="$compressors zstd";;
 	\?)
 	    echo "Invalid option: -$OPTARG" && usage;;
   esac
-- 
2.45.1



More information about the Binutils mailing list