diff --git a/CHANGELOG.md b/CHANGELOG.md index c54bbd6..8710c7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,18 @@ Changelog ## Unreleased - Nothing for now... +## [1.1~ynh1](https://github.com/YunoHost-Apps/archivist_ynh/pull/29) - 2021-01-12 + +#### Added +- [Allow to choose compression algorithms](https://github.com/YunoHost-Apps/archivist_ynh/pull/29) + +#### Fixed +- [Fix YunoHost 4.1 support](https://github.com/YunoHost-Apps/archivist_ynh/pull/29) + +#### Changed +- [Force compression for YunoHost backups](https://github.com/YunoHost-Apps/archivist_ynh/pull/29) + + ## [1.0.1~ynh2](https://github.com/YunoHost-Apps/archivist_ynh/pull/25) - 2020-01-04 #### Fixed diff --git a/README.md b/README.md index 4278ed1..ffff078 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ It can also makes backups of specified directories. Your backups can be send to many other places, local or distant. Archivist is automatically launched periodicaly to update your backups and send the modifications to the other places. -**Shipped version:** 1.0.1 +**Shipped version:** 1.1 ## Screenshots diff --git a/README_fr.md b/README_fr.md index 2751c44..876b5ae 100644 --- a/README_fr.md +++ b/README_fr.md @@ -15,7 +15,7 @@ Il peut également faire des sauvegardes de répertoires spécifiques. Vos sauvegardes peuvent être envoyées à de nombreux autres endroits, locaux ou distants. Archivist est automatiquement lancé périodiquement pour mettre à jour vos sauvegardes et envoyer les modifications aux autres emplacements. -**Version embarquée:** 1.0.1 +**Version embarquée:** 1.1 ## Captures d'écran diff --git a/conf/app.src b/conf/app.src index 280bf59..c744e11 100644 --- a/conf/app.src +++ b/conf/app.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/maniackcrudelis/archivist/archive/v1.0.1.tar.gz -SOURCE_SUM=56ec81447b7eb6d34c4af213b48530dc +SOURCE_URL=https://github.com/maniackcrudelis/archivist/archive/v1.1.tar.gz +SOURCE_SUM=f612de7b58366df437cbe228c4b934d1 SOURCE_SUM_PRG=md5sum SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true diff --git a/config_panel.toml b/config_panel.toml index 132417d..23d641f 100644 --- a/config_panel.toml +++ b/config_panel.toml @@ -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" diff --git a/manifest.json b/manifest.json index 5f1c70f..e7a759f 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Automatic backups.", "fr": "Sauvegardes automatiques." }, - "version": "1.0.1~ynh3", + "version": "1.1~ynh1", "url": "https://github.com/maniackcrudelis/archivist", "license": "GPL-3.0", "maintainer": { diff --git a/scripts/_variables b/scripts/_variables index d675612..35efc56 100644 --- a/scripts/_variables +++ b/scripts/_variables @@ -1,4 +1,4 @@ #!/bin/bash # Dependencies -app_depencencies="rsync encfs sshpass ccrypt" +app_depencencies="rsync encfs sshpass ccrypt lzop zstd lzip" diff --git a/scripts/config b/scripts/config index 5c78fe0..97f4dff 100644 --- a/scripts/config +++ b/scripts/config @@ -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"