|
|
@ -1,7 +1,5 @@ |
|
|
#!/bin/bash |
|
|
#!/bin/bash |
|
|
|
|
|
|
|
|
set -eu |
|
|
|
|
|
|
|
|
|
|
|
# Load common variables and helpers |
|
|
# Load common variables and helpers |
|
|
source ./_common.sh |
|
|
source ./_common.sh |
|
|
|
|
|
|
|
|
@ -10,6 +8,23 @@ app=$APPNAME |
|
|
dbname=$app |
|
|
dbname=$app |
|
|
dbuser=$app |
|
|
dbuser=$app |
|
|
|
|
|
|
|
|
|
|
|
# Backup the current version of the app, restore it if the upgrade fails |
|
|
|
|
|
sudo yunohost backup delete $app-before-upgrade |
|
|
|
|
|
sudo yunohost backup create --ignore-hooks --apps $app --name $app-before-upgrade |
|
|
|
|
|
EXIT_PROPERLY () { |
|
|
|
|
|
exit_code=$? |
|
|
|
|
|
if [ "$exit_code" -eq 0 ]; then |
|
|
|
|
|
exit 0 # Quitte sans erreur si le script se termine correctement. |
|
|
|
|
|
fi |
|
|
|
|
|
trap '' EXIT |
|
|
|
|
|
set +eu |
|
|
|
|
|
sudo yunohost app remove $app # Supprime l'application avant de la restaurer. |
|
|
|
|
|
sudo yunohost backup restore --ignore-hooks $app-before-upgrade --apps $app --force # Restore the backup if upgrade failed |
|
|
|
|
|
ynh_die "Upgrade failed. The app was restored to the way it was before the failed upgrade." |
|
|
|
|
|
} |
|
|
|
|
|
set -eu |
|
|
|
|
|
trap EXIT_PROPERLY EXIT |
|
|
|
|
|
|
|
|
# Source app helpers |
|
|
# Source app helpers |
|
|
source /usr/share/yunohost/helpers |
|
|
source /usr/share/yunohost/helpers |
|
|
|
|
|
|
|
|
|