2020-03-01 11:28:28 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
#=================================================
|
|
|
|
# GENERIC START
|
|
|
|
#=================================================
|
|
|
|
# IMPORT GENERIC HELPERS
|
|
|
|
#=================================================
|
|
|
|
|
|
|
|
source _common.sh
|
|
|
|
source /usr/share/yunohost/helpers
|
|
|
|
|
2024-01-17 15:37:37 +01:00
|
|
|
#=================================================
|
|
|
|
# ENSURE DOWNWARD COMPATIBILITY
|
|
|
|
#=================================================
|
|
|
|
ynh_script_progression --message="Ensuring downward compatibility..." --weight=1
|
|
|
|
|
2024-01-17 17:53:46 +01:00
|
|
|
# Settings were not backed up prior to packaging v2
|
|
|
|
if [[ -z "${password:-}" ]] || [[ -z "${color:-}" ]] || [[ -z "${wiki:-}" ]]; then
|
|
|
|
password=$( grep -oP '^\$PASSWORD = sha1\(\"\K.*(?=\"\);$)' "$install_dir/config.php")
|
|
|
|
wiki=$( grep -oP '^\$WIKI_TITLE = '"'\K.*(?=';)" "$install_dir/config.php")
|
2024-01-17 16:21:15 +01:00
|
|
|
color=$(grep -A1 'For YunoHost config' "$install_dir/templates/minimaxing/minimaxing.css" | grep -oP '^/\* @fg: #\K.*(?=;)')
|
2024-01-17 17:53:46 +01:00
|
|
|
|
|
|
|
if [[ -z "$password" ]] || [[ -z "$wiki" ]] || [[ -z "$color" ]]; then
|
|
|
|
message="Previous versions did not save settings. You need to manually set them before upgrading.\n"
|
|
|
|
message+="Here are the retrieved values: password='$password', wiki='$wiki', color='$color'\n"
|
|
|
|
message+="And the commands to set missing values:\n"
|
|
|
|
message+="yunohost app setting $app password -v 'YOUR PASSWORD'\n"
|
|
|
|
message+="yunohost app setting $app wiki -v 'YOUR WIKI NAME'\n"
|
|
|
|
message+="yunohost app setting $app color -v 'YOUR BASE COLOR'\n"
|
|
|
|
ynh_die --message="$message"
|
2024-01-17 16:21:15 +01:00
|
|
|
fi
|
|
|
|
ynh_app_setting_set --app="$app" --key=password --value="$password"
|
2024-01-17 17:53:46 +01:00
|
|
|
ynh_app_setting_set --app="$app" --key=wiki --value="$wiki"
|
|
|
|
ynh_app_setting_set --app="$app" --key=color --value="$color"
|
2024-01-17 16:21:15 +01:00
|
|
|
fi
|
|
|
|
|
2024-01-17 11:29:50 +01:00
|
|
|
#=================================================
|
|
|
|
# INITIALIZE AND STORE SETTINGS
|
|
|
|
#=================================================
|
|
|
|
|
2024-01-17 16:21:15 +01:00
|
|
|
password_sha1=$(python -c 'import hashlib; import sys; a=str(sys.argv[1]); print(hashlib.sha512(a.encode("UTF-8")).hexdigest())' "$password")
|
2024-01-17 11:29:50 +01:00
|
|
|
|
|
|
|
# Validate, fix and set default value for color
|
|
|
|
color="$(_validate_color)"
|
|
|
|
ynh_app_setting_set --app="$app" --key=color --value="$color"
|
|
|
|
|
2020-03-01 11:28:28 +01:00
|
|
|
#=================================================
|
|
|
|
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
|
|
|
#=================================================
|
2024-01-17 11:23:28 +01:00
|
|
|
ynh_script_progression --message="Upgrading source files..." --weight=3
|
2020-03-01 11:28:28 +01:00
|
|
|
|
2024-01-17 11:23:28 +01:00
|
|
|
# Download, check integrity, uncompress and patch the source from app.src
|
2024-01-17 11:39:36 +01:00
|
|
|
ynh_setup_source --dest_dir="$install_dir" --full_replace=1 --keep="config.php pheditor.php menu.php config.t2t"
|
2022-07-17 03:21:03 +02:00
|
|
|
|
2024-01-17 11:23:28 +01:00
|
|
|
chmod -R o-rwx "$install_dir"
|
|
|
|
chown -R "$app:www-data" "$install_dir"
|
2022-07-17 03:21:03 +02:00
|
|
|
|
2020-03-01 11:28:28 +01:00
|
|
|
#=================================================
|
|
|
|
# STORE THE CONFIG FILE CHECKSUM
|
|
|
|
#=================================================
|
2024-01-17 11:29:50 +01:00
|
|
|
ynh_script_progression --message="Updating configuration files..."
|
|
|
|
|
|
|
|
# Workaround for php code containing __FILE__ and __DIR__
|
|
|
|
file=__FILE__
|
|
|
|
dir=__DIR__
|
|
|
|
|
2024-01-17 14:58:23 +01:00
|
|
|
ynh_backup_if_checksum_is_different --file="$install_dir/config.php"
|
|
|
|
ynh_backup_if_checksum_is_different --file="$install_dir/pheditor.php"
|
|
|
|
|
|
|
|
# FIXME: is it required ?
|
|
|
|
ynh_delete_file_checksum --file="$install_dir/config.php"
|
|
|
|
ynh_delete_file_checksum --file="$install_dir/pheditor.php"
|
|
|
|
|
2024-01-17 11:29:50 +01:00
|
|
|
ynh_add_config --template="config.php" --destination="$install_dir/config.php"
|
|
|
|
ynh_add_config --template="pheditor.php" --destination="$install_dir/pheditor.php"
|
|
|
|
|
|
|
|
mkdir -p "$install_dir/templates/minimaxing/"
|
2024-01-17 14:58:23 +01:00
|
|
|
ynh_delete_file_checksum --file="$install_dir/templates/minimaxing/minimaxing.less"
|
|
|
|
ynh_delete_file_checksum --file="$install_dir/templates/minimaxing/minimaxing.css"
|
2024-01-17 11:29:50 +01:00
|
|
|
ynh_add_config --template="minimaxing.less" --destination="$install_dir/templates/minimaxing/minimaxing.less"
|
|
|
|
ynh_add_config --template="minimaxing.css" --destination="$install_dir/templates/minimaxing/minimaxing.css"
|
|
|
|
|
|
|
|
mkdir -p "$install_dir/templates/mimoza/"
|
2024-01-17 14:58:23 +01:00
|
|
|
ynh_delete_file_checksum --file="$install_dir/templates/mimoza/mimoza.css"
|
2024-01-17 11:29:50 +01:00
|
|
|
ynh_add_config --template="mimoza.css" --destination="$install_dir/templates/mimoza/mimoza.css"
|
2020-03-01 11:28:28 +01:00
|
|
|
|
2024-01-17 11:23:28 +01:00
|
|
|
ynh_store_file_checksum --file="$install_dir/config.t2t"
|
|
|
|
ynh_store_file_checksum --file="$install_dir/menu.php"
|
2020-04-28 08:57:06 +02:00
|
|
|
|
2020-03-01 11:28:28 +01:00
|
|
|
#=================================================
|
2024-01-17 11:23:28 +01:00
|
|
|
# REAPPLY SYSTEM CONFIGURATIONS
|
2020-03-01 11:28:28 +01:00
|
|
|
#=================================================
|
2024-01-17 11:23:28 +01:00
|
|
|
ynh_script_progression --message="Upgrading system configurations related to $app..." --weight=1
|
2020-03-01 11:28:28 +01:00
|
|
|
|
2024-01-17 11:23:28 +01:00
|
|
|
# Create a dedicated PHP-FPM config
|
|
|
|
ynh_add_fpm_config
|
2020-03-01 11:28:28 +01:00
|
|
|
|
2024-01-17 11:23:28 +01:00
|
|
|
# Create a dedicated NGINX config
|
|
|
|
ynh_add_nginx_config
|
2020-03-01 11:28:28 +01:00
|
|
|
|
|
|
|
#=================================================
|
|
|
|
# END OF SCRIPT
|
|
|
|
#=================================================
|
|
|
|
|
2020-11-27 10:49:00 +01:00
|
|
|
ynh_script_progression --message="Upgrade of $app completed" --last
|