diff options
| author | Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr> | 2018-05-01 20:45:29 +0200 |
|---|---|---|
| committer | Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr> | 2018-05-01 20:45:29 +0200 |
| commit | b67376ec30c52e5d0ff2014fb89149a5e8fd2215 (patch) | |
| tree | 1819ff84a1da9f743c14ad54d4857ed7d5ef1bb1 | |
| parent | 3004a1c0414e691ed2c771a5200c6359028a8e5e (diff) | |
| download | mastodon_ynh-b67376ec30c52e5d0ff2014fb89149a5e8fd2215.tar.gz mastodon_ynh-b67376ec30c52e5d0ff2014fb89149a5e8fd2215.tar.bz2 mastodon_ynh-b67376ec30c52e5d0ff2014fb89149a5e8fd2215.zip | |
add support for ynh_backup_before_upgrade and ynh_abort_if_errors
| -rw-r--r-- | scripts/upgrade | 56 |
1 files changed, 50 insertions, 6 deletions
diff --git a/scripts/upgrade b/scripts/upgrade index 47b4712..54cdd8f 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -1,13 +1,18 @@ #!/bin/bash -# Exit on command errors and treat unset variables as an error -set -eu +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= -# Loads the generic functions usually used in the script source _common.sh -# Source YunoHost helpers source /usr/share/yunohost/helpers +#================================================= +# LOAD SETTINGS +#================================================= + # See comments in install script app=$YNH_APP_INSTANCE_NAME @@ -16,8 +21,23 @@ domain=$(ynh_app_setting_get "$app" domain) path=$(ynh_app_setting_get "$app" path) admin=$(ynh_app_setting_get "$app" admin) language=$(ynh_app_setting_get "$app" language) +final_path=$(ynh_app_setting_get "$app" final_path) + +#================================================= +# ENSURE DOWNWARD COMPATIBILITY +#================================================= -CHECK_PATH # Checks and corrects the syntax of the path. +# If db_name doesn't exist, create it +if [ -z "$db_name" ]; then + db_name=$(ynh_sanitize_dbid "$app") + ynh_app_setting_set "$app" db_name "$db_name" +fi + +# If final_path doesn't exist, create it +if [ -z "$final_path" ]; then + final_path=/var/www/$app + ynh_app_setting_set "$app" final_path "$final_path" +fi # Check if admin is not null if [[ "$admin" = "" || "$language" = "" ]]; then @@ -25,7 +45,31 @@ if [[ "$admin" = "" || "$language" = "" ]]; then ynh_die fi -final_path=/opt/$app +#================================================= +# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP +#================================================= + +# Backup the current version of the app +ynh_backup_before_upgrade +ynh_clean_setup () { + # restore it if the upgrade fails + ynh_restore_upgradebackup +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + +#================================================= +# CHECK THE PATH +#================================================= + +# Normalize the URL path syntax +path_url=$(ynh_normalize_url_path $path_url) + +#================================================= +# STANDARD UPGRADE STEPS +#================================================= +# TODO TODO TODO +#================================================= db_name=$app |
