1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/archivist_ynh.git synced 2024-09-03 18:15:55 +02:00

Fix YunoHost 4.1

Allow to choose compression algorithm
This commit is contained in:
Maniack Crudelis 2021-01-12 01:23:38 +01:00
parent 858b3aec31
commit 3ce94f3992
4 changed files with 59 additions and 4 deletions

View file

@ -1,6 +1,6 @@
SOURCE_URL=https://github.com/maniackcrudelis/archivist/archive/v1.0.1.tar.gz
SOURCE_SUM=56ec81447b7eb6d34c4af213b48530dc
SOURCE_URL=https://github.com/maniackcrudelis/archivist/archive/698b7f79bf98681fad7bdc4411a4eae4658b6f51.zip
SOURCE_SUM=89c471dab51cc46a38a9930285e181a3
SOURCE_SUM_PRG=md5sum
SOURCE_FORMAT=tar.gz
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true
SOURCE_FILENAME=

View file

@ -18,6 +18,19 @@ name = "Archivist configuration"
optional = true
help = "A password is needed if encryption is activated."
[main.compression]
name = "Compression algorithm"
[main.compression.ynh]
ask = "Choose the compression algorithm for YunoHost backups"
choices = ["gzip", "lzop", "zstd", "bzip2", "lzma", "lzip", "xz", "No compression"]
default = "gzip"
[main.compression.files]
ask = "Choose the compression algorithm for files and directories backups"
choices = ["gzip", "lzop", "zstd", "bzip2", "lzma", "lzip", "xz", "No compression"]
default = "gzip"
[main.backup_types]
name = "Backup"

View file

@ -1,4 +1,4 @@
#!/bin/bash
# Dependencies
app_depencencies="rsync encfs sshpass ccrypt"
app_depencencies="rsync encfs sshpass ccrypt lzop zstd lzip"

View file

@ -51,6 +51,14 @@ old_encrypt_password="$(cat $passkey)"
encrypt_password="${YNH_CONFIG_MAIN_ENCRYPTION_ENCRYPTION_PWD:-$old_encrypt_password}"
ynh_print_ON
# Compression algorithms
old_ynh_compression="$(get_config_value ynh_compression_mode)"
old_ynh_compression=${old_ynh_compression:-gzip}
ynh_compression="${YNH_CONFIG_MAIN_COMPRESSION_YNH:-$old_ynh_compression}"
old_files_compression="$(get_config_value files_compression_mode)"
old_files_compression=${old_files_compression:-gzip}
files_compression="${YNH_CONFIG_MAIN_COMPRESSION_FILES:-$old_files_compression}"
# ynh_core_backup
old_ynh_core_backup="$(get_config_value ynh_core_backup)"
ynh_core_backup="${YNH_CONFIG_MAIN_BACKUP_TYPES_CORE_BACKUP:-$old_ynh_core_backup}"
@ -91,6 +99,9 @@ show_config() {
ynh_return "YNH_CONFIG_MAIN_ENCRYPTION_ENCRYPT=$encrypt"
ynh_return "YNH_CONFIG_MAIN_ENCRYPTION_ENCRYPTION_PWD="
ynh_return "YNH_CONFIG_MAIN_COMPRESSION_YNH=$ynh_compression"
ynh_return "YNH_CONFIG_MAIN_COMPRESSION_FILES=$files_compression"
ynh_return "YNH_CONFIG_MAIN_BACKUP_TYPES_CORE_BACKUP=$ynh_core_backup"
ynh_return "YNH_CONFIG_MAIN_BACKUP_TYPES_APPS_BACKUP=$ynh_app_backup"
@ -136,6 +147,37 @@ apply_config() {
# MODIFY SETTINGS
#=================================================
# Change the compression algorithms
# Replace "No compression" by "none" for the config file
if [ "$ynh_compression" == "No compression" ]; then
ynh_compression=none
fi
if [ "$ynh_compression" != "$old_ynh_compression" ]
then
# Update the config, or add the config if not yet existing
if grep "^ynh_compression_mode=" "$config_file"
then
ynh_replace_string --match_string="^ynh_compression_mode=.*" --replace_string="ynh_compression_mode=$ynh_compression" --target_file="$config_file"
else
echo "ynh_compression_mode=$ynh_compression" >> "$config_file"
fi
fi
# Replace "No compression" by "none" for the config file
if [ "$files_compression" == "No compression" ]; then
files_compression=none
fi
if [ "$files_compression" != "$old_files_compression" ]
then
# Update the config, or add the config if not yet existing
if grep "^files_compression_mode=" "$config_file"
then
ynh_replace_string --match_string="^files_compression_mode=.*" --replace_string="files_compression_mode=$files_compression" --target_file="$config_file"
else
echo "files_compression_mode=$files_compression" >> "$config_file"
fi
fi
# Change ynh_core_backup in the config file
ynh_replace_string --match_string="^ynh_core_backup=.*" --replace_string="ynh_core_backup=$ynh_core_backup" --target_file="$config_file"