From 1f2da45b253455ef9b88a29f62cfde810b4d9f20 Mon Sep 17 00:00:00 2001 From: ge Date: Wed, 22 Jun 2022 23:50:36 +0300 Subject: [PATCH] feat: New compression logic --- src/lib/handlers/tar.sh | 54 +++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 29 deletions(-) diff --git a/src/lib/handlers/tar.sh b/src/lib/handlers/tar.sh index 70b58cd..23f5b65 100644 --- a/src/lib/handlers/tar.sh +++ b/src/lib/handlers/tar.sh @@ -28,7 +28,6 @@ handler::tar() { local dst_path local opts local archive - local compr local exclude local file_ext @@ -68,35 +67,32 @@ handler::tar() { exclude= fi - # Overwrite __compression - if [ "$compression" ]; then - compr="$compression" - else - compr="$__compression" - fi - # Select filename extension by compression type. - # Make sure for the `--auto-compress` is enabled in __tar_options - # Refference: https://www.gnu.org/software/tar/manual/html_node/gzip.html - case "$compr" in - gzip|gz) file_ext='.tar.gz';; # gzip - tgz) file_ext='.tgz';; # gzip - taz) file_ext='.taz';; # gzip - compress|Z) file_ext='.tar.Z';; # compress - taZ) file_ext='.taZ';; # compress - bzip2|bz2) file_ext='.tar.bz2';; # bzip2 - tz2) file_ext='.tz2';; # bzip2 - tbz2) file_ext='.tbz2';; # bzip2 - tbz) file_ext='.tbz';; # bzip2 - lzip|lz) file_ext='.tar.lz';; # lzip - lzma) file_ext='.tar.lzma';; # lzma - tlz) file_ext='.tlz';; # lzma - lzop|lzo) file_ext='.tar.lzo';; # lzop - xz) file_ext='.tar.xz';; # xz - zstd|zst) file_ext='.tar.zst';; # zstd - tzst) file_ext='.tzst';; # zstd - *) file_ext='.tar.gz';; # Force gzip - esac + if [ "$compression" ]; then + # Make sure for the `--auto-compress` is enabled in __tar_options + # Refference: https://www.gnu.org/software/tar/manual/html_node/gzip.html + case "$compression" in + gzip|gz) file_ext='.tar.gz';; # gzip + tgz) file_ext='.tgz';; # gzip + taz) file_ext='.taz';; # gzip + compress|Z) file_ext='.tar.Z';; # compress + taZ) file_ext='.taZ';; # compress + bzip2|bz2) file_ext='.tar.bz2';; # bzip2 + tz2) file_ext='.tz2';; # bzip2 + tbz2) file_ext='.tbz2';; # bzip2 + tbz) file_ext='.tbz';; # bzip2 + lzip|lz) file_ext='.tar.lz';; # lzip + lzma) file_ext='.tar.lzma';; # lzma + tlz) file_ext='.tlz';; # lzma + lzop|lzo) file_ext='.tar.lzo';; # lzop + xz) file_ext='.tar.xz';; # xz + zstd|zst) file_ext='.tar.zst';; # zstd + tzst) file_ext='.tzst';; # zstd + *) file_ext='.tar';; # No compression + esac + else + file_ext='.tar' + fi archive="${dst_path}/$(gen_backup_name "$file_ext")"