aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/upgrade56
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