1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/ihatemoney_ynh.git synced 2024-09-03 19:26:15 +02:00
ihatemoney_ynh/scripts/upgrade
Jocelyn Delalande bb40c91db7 [fix] Adapt to new ihatemoney settings behaviour
Since v1.0 ihatemoney reads its settings from /etc/ihatemoney/ihatemoney.cfg

See https://github.com/spiral-project/ihatemoney/pull/193
2017-06-21 17:10:26 +02:00

68 lines
1.7 KiB
Bash
Executable file

#!/bin/bash
set -eu
app=$YNH_APP_INSTANCE_NAME
# The main logic is to
# - install in a src-new folder
# - upgrade dependencies
# - if everything OK, rename src-new to src
# Installation paths
INSTALL_DIR=/opt/yunohost/ihatemoney
PIP=${INSTALL_DIR}/venv/bin/pip
NEW_REQUIREMENTS=${INSTALL_DIR}/src-new/requirements.txt
# Source YunoHost helpers
. /usr/share/yunohost/helpers
domain=$(ynh_app_setting_get "$app" domain)
# Source local utils
source _common.sh
# Optionaly upgrade arg to typed boolean form
is_public=$(ynh_app_setting_get "$app" is_public)
if [ $is_public = "No" ];
then
is_public=0
else
is_public=1
fi
ynh_app_setting_set "$app" is_public "$is_public"
# Upgrade code
fetch_and_extract ${INSTALL_DIR}/src-new/ ihatemoney
fix_permissions ${INSTALL_DIR}/src-new/
# Upgrade dependencies
sudo ${PIP} install -r ${NEW_REQUIREMENTS}
# Everything went ok ? Let's keep this code.
sudo rm -rf ${INSTALL_DIR}/src
sudo mv ${INSTALL_DIR}/src-new ${INSTALL_DIR}/src
## Migration from old versions of the package
if [ -e /etc/ihatemoney/settings.py ]; then
# Strip out the no longer used part of the settings
sudo python2 -c"d = open('/etc/ihatemoney/settings.py').read().replace('try:\n from settings import *\nexcept ImportError:\n pass\n', ''); open('/etc/ihatemoney/settings.py', 'w').write(d)"
# Rename
sudo mv /etc/ihatemoney/settings.py ${ihatemoney_conf_path}
fi
# Remove no longer used symlink
# (ihatemoney now read its conf by default from /etc/ihatemoney/ihatemoney.cfg)
sudo rm -f ${INSTALL_DIR}/src/budget/settings.py
# Settings are not very likely to change, and that script may be
# adapted to handle it in case.
# Restart backend
sudo supervisorctl restart budget