aboutsummaryrefslogtreecommitdiff
path: root/scripts/upgrade
diff options
context:
space:
mode:
authornemsia <nemsia@nemsia.org>2018-05-03 15:42:48 +0200
committerGitHub <noreply@github.com>2018-05-03 15:42:48 +0200
commit56e9231be42fc514bf0e8c7e2bbfd16a9c8e575b (patch)
tree1819ff84a1da9f743c14ad54d4857ed7d5ef1bb1 /scripts/upgrade
parent52ea3880731fe09d724ac0b831605583682068cf (diff)
parentb67376ec30c52e5d0ff2014fb89149a5e8fd2215 (diff)
downloadmastodon_ynh-56e9231be42fc514bf0e8c7e2bbfd16a9c8e575b.tar.gz
mastodon_ynh-56e9231be42fc514bf0e8c7e2bbfd16a9c8e575b.tar.bz2
mastodon_ynh-56e9231be42fc514bf0e8c7e2bbfd16a9c8e575b.zip
Merge pull request #76 from Jibec/master
Refactoring
Diffstat (limited to 'scripts/upgrade')
-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