From 383f2a004526c3760cd5622f80773e3ab9d9c9e9 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 14 Nov 2021 16:01:21 +0100 Subject: [PATCH] Add --purge option --- manifest.json | 2 +- scripts/backup | 3 ++- scripts/install | 3 +++ scripts/remove | 12 ++++++++++++ scripts/restore | 3 +-- 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/manifest.json b/manifest.json index f4a33a5..40e16bf 100644 --- a/manifest.json +++ b/manifest.json @@ -22,7 +22,7 @@ "email": "pierre@kayou.io" }, "requirements": { - "yunohost": ">= 4.2.8.3" + "yunohost": ">= 4.3.0" }, "multi_instance": true, "services": [ diff --git a/scripts/backup b/scripts/backup index 1a1944a..4127420 100755 --- a/scripts/backup +++ b/scripts/backup @@ -27,6 +27,7 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path) domain=$(ynh_app_setting_get --app=$app --key=domain) db_name=$(ynh_app_setting_get --app=$app --key=db_name) phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) +datadir=$(ynh_app_setting_get --app=$app --key=datadir) #================================================= # DECLARE DATA AND CONF FILES TO BACKUP @@ -84,7 +85,7 @@ ynh_backup --src_path="/etc/cron.d/$app" #================================================= ynh_print_info --message="Backing up data directory..." -ynh_backup --src_path="/home/yunohost.app/${app}/data" --is_big +ynh_backup --src_path="$datadir" --is_big #================================================= # END OF SCRIPT diff --git a/scripts/install b/scripts/install index 8306846..f39eb2e 100755 --- a/scripts/install +++ b/scripts/install @@ -130,9 +130,12 @@ ynh_add_nginx_config #================================================= # CREATE THE DATA DIRECTORY #================================================= +ynh_script_progression --message="Creating a data directory..." --weight=1 # Define app's data directory datadir="/home/yunohost.app/$app/data" +ynh_app_setting_set --app=$app --key=datadir --value=$datadir + # Create app folders mkdir -p "$datadir" diff --git a/scripts/remove b/scripts/remove index b84d5bf..024ed93 100755 --- a/scripts/remove +++ b/scripts/remove @@ -19,6 +19,7 @@ app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get --app=$app --key=domain) db_name=$(ynh_app_setting_get --app=$app --key=db_name) final_path=$(ynh_app_setting_get --app=$app --key=final_path) +datadir=$(ynh_app_setting_get --app=$app --key=datadir) #================================================= # STANDARD REMOVE @@ -46,6 +47,17 @@ ynh_script_progression --message="Removing app main directory..." --weight=3 # Remove the app directory securely ynh_secure_remove --file="$final_path" +#================================================= +# REMOVE DATA DIR +#================================================= + +# Remove the data directory if --purge option is used +if [ "${YNH_APP_PURGE:-0}" -eq 1 ] +then + ynh_script_progression --message="Removing app data directory..." --weight=1 + ynh_secure_remove --file="$datadir" +fi + #================================================= # REMOVE NGINX CONFIGURATION #================================================= diff --git a/scripts/restore b/scripts/restore index a3067d4..16ca3c4 100755 --- a/scripts/restore +++ b/scripts/restore @@ -28,6 +28,7 @@ path_url=$(ynh_app_setting_get --app=$app --key=path) final_path=$(ynh_app_setting_get --app=$app --key=final_path) db_name=$(ynh_app_setting_get --app=$app --key=db_name) phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) +datadir=$(ynh_app_setting_get --app=$app --key=datadir) fpm_footprint=$(ynh_app_setting_get --app=$app --key=fpm_footprint) fpm_usage=$(ynh_app_setting_get --app=$app --key=fpm_usage) @@ -119,8 +120,6 @@ ynh_restore_file --origin_path="/etc/logrotate.d/$app" #================================================= ynh_script_progression --message="Restoring data directory..." --weight=2 -datadir="/home/yunohost.app/$app/data" - # Use --not_mandatory for the data directory, because if the backup has been made with BACKUP_CORE_ONLY, there's no data into the backup. ynh_restore_file --origin_path="$datadir" --not_mandatory