diff --git a/bin/tools/foamPackRelease b/bin/tools/foamPackRelease
index 49b7bfe00316c626c5551a755c83f696b9d99965..9889d1530e1dc9c072f42992b6e47d8ecef4bd0b 100755
--- a/bin/tools/foamPackRelease
+++ b/bin/tools/foamPackRelease
@@ -6,7 +6,7 @@
 #   \\  /    A nd           | www.openfoam.com
 #    \\/     M anipulation  |
 #------------------------------------------------------------------------------
-#     Copyright (C) 2019-2020 OpenCFD Ltd.
+#     Copyright (C) 2019-2021 OpenCFD Ltd.
 #------------------------------------------------------------------------------
 # License
 #     This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
@@ -32,8 +32,9 @@
 #
 # Debian-style without OpenFOAM sub-directory
 #
-#     foamPackRelease -name=openfoam2002_200129.orig -no-prefix origin/develop
+#     foamPackRelease -debian origin/develop
 #     foamPackRelease -debian=openfoam2002_200129 origin/develop
+#     foamPackRelease -name=openfoam2002_200129.orig -no-prefix origin/develop
 #
 #------------------------------------------------------------------------------
 Script="${0##*/}"
@@ -55,7 +56,8 @@ options:
   -sep=SEP          Change version/patch separator from '_' to SEP
   -gitbase=DIR      Alternative repository location
   -with-api=NUM     Specify alternative api value for packaging
-  -tgz, -xz         Alias for -compress=tgz, -compress=xz
+  -tgz, -xz, -zstd  Alias for -compress=tgz, -compress=xz, -compress=zstd
+  -debian           Auto (debian) naming with -no-prefix, -xz
   -debian=NAME      Short-cut for -name=NAME.orig, -no-prefix, -xz
   -help             Print help
 
@@ -116,6 +118,11 @@ do
     -h | -help*)
         printHelp
         ;;
+    -debian)
+        tarName="debian"     # Special placeholder
+        prefixDir=false      # No prefix directory
+        : "${compress:=xz}"  # Default 'xz' compression
+        ;;
     -debian=*)
         tarName="${1#*=}"
         cleanTarName
@@ -166,7 +173,7 @@ do
     -with-api=*)
         packageApi="${1#*=}"
         ;;
-    -tgz | -xz)
+    -tgz | -xz | -zst | -zstd)
         compress="${1#*-}"
         ;;
     --)
@@ -259,10 +266,11 @@ sha1=$(git --git-dir="$gitbase/.git" ls-tree "$head" META-INFO/api-info | \
 [ -n "$sha1" ] || die "Could locate git content for META-INFO/api-info"
 
 # The api and patch
-api="$(git --git-dir="$gitbase/.git" show "$sha1" | sed -ne s/api=//p)"
-patch="$(git --git-dir="$gitbase/.git" show "$sha1" | sed -ne s/patch=//p)"
+api="$(git --git-dir="$gitbase/.git" show "$sha1" | sed -ne s/^api=//p)"
+patch="$(git --git-dir="$gitbase/.git" show "$sha1" | sed -ne s/^patch=//p)"
 
 [ -n "$api" ] || die "Could resolve api value"
+: "${patch:=0}"  # Treat missing patch number as '0'
 
 # Determine the BUILD information from git, as per `wmake -build-info`
 build="$(git --git-dir="$gitbase/.git" log -1 --date=short --format='%h=%ad' 2>/dev/null|sed 's/-//g;s/=/-/')"
@@ -290,8 +298,25 @@ then
     unset prefixDir
 fi
 
-if [ -z "$tarName" ]
-then
+case "$tarName" in
+(debian)
+    tarName="openfoam${packageApi}"
+
+    if [ "$withPatchNum" = false ]
+    then
+        echo "Ignoring patch number for output name" 1>&2
+    else
+        # Start debian with patch=1, not patch=0
+        if [ "$patch" = 0 ]
+        then
+            patch=1
+        fi
+        tarName="${tarName}${versionSeparator}${patch}"
+    fi
+    tarName="${tarName}.orig"  # Append .orig
+    ;;
+
+('')
     tarName="OpenFOAM-v${packageApi}"
     if [ "$withSource" = false ]
     then
@@ -301,11 +326,12 @@ then
     if [ "$withPatchNum" = false ]
     then
         echo "Ignoring patch number for output name" 1>&2
-    elif [ "${patch:-0}" -gt 0 ]
+    elif [ "${patch:-0}" != 0 ]
     then
         tarName="${tarName}${versionSeparator}${patch}"
     fi
-fi
+    ;;
+esac
 
 echo 1>&2
 echo "Tar-file name:   $tarName.tar" 1>&2
@@ -444,7 +470,7 @@ case "$compress" in
 
     (gz | gzip)
     echo "Using gzip compression" 1>&2
-    echo 'gzip -f9 "$outputDir/$tarName.tar"'
+    echo 'gzip -f -9 "$outputDir/$tarName.tar"'
     echo
     echo '# End of compression'
     ;;
@@ -459,14 +485,21 @@ case "$compress" in
 
     (bz | bzip | bzip2)
     echo "Using bzip2 compression" 1>&2
-    echo 'bzip2 -f9 "$outputDir/$tarName.tar"'
+    echo 'bzip2 -f -9 "$outputDir/$tarName.tar"'
     echo
     echo '# End of compression'
     ;;
 
     (xz)
     echo "Using xz compression" 1>&2
-    echo 'xz -f9 "$outputDir/$tarName.tar"'
+    echo 'xz -f -9 "$outputDir/$tarName.tar"'
+    echo
+    echo '# End of compression'
+    ;;
+
+    (zst | zstd)
+    echo "Using zstd compression" 1>&2
+    echo 'zstd --rm -f -9 "$outputDir/$tarName.tar"'
     echo
     echo '# End of compression'
     ;;