#!/bin/bash source _common.sh source /usr/share/yunohost/helpers #================================================= # ENSURE DOWNWARD COMPATIBILITY #================================================= ynh_script_progression "Ensuring downward compatibility..." # Do something when upgrading from 2.3.2~ynh1 or lower if ynh_app_upgrading_from_version_before_or_equal_to 2.28.4~ynh1 then # Move everything inside a $install_dir/app/ subfolder # This allows to have a $install_dir/index.php handling the SSO mkdir -p $install_dir/app # Ugly way to not return an error when moving everything to a subfolter of the same folder https://stackoverflow.com/a/43262922 find $install_dir -maxdepth 1 -mindepth 1 -not -name app -exec mv -t $install_dir/app {} + chown $app:www-data $install_dir/app/ chown $app:$app -R "$install_dir/app/data/_data_" chmod 600 "$install_dir/app/data/_data_/_default_/configs/application.ini" fi #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= ynh_script_progression "Upgrading source files..." ynh_setup_source --dest_dir="$install_dir/app" --full_replace=1 --keep="data/_data_/_default_/configs/application.ini" chmod -R 750 "$install_dir" chown -R $app:www-data "$install_dir" #================================================= # REAPPLY SYSTEM CONFIGURATIONS #================================================= ynh_script_progression "Upgrading system configurations related to $app..." ynh_config_add_phpfpm ynh_config_add_nginx ynh_config_add_logrotate #================================================= # RECONFIGURE THE APP (UPDATE CONF, APPLY MIGRATIONS...) #================================================= # UPDATE A CONFIG FILE #================================================= #ynh_script_progression "Updating configuration..." #ynh_config_add --template="application.ini" --destination="$install_dir/app/data/_data_/_default_/configs/application.ini" chmod 600 "$install_dir/app/data/_data_/_default_/configs/application.ini" chown -R $app:$app "$install_dir/app/data/_data_" #================================================= # SETUP SSO #================================================= ynh_script_progression "Applying SSO patch..." ynh_config_add --template="sso.php" --destination="$install_dir/index.php" chown $app:www-data "$install_dir/index.php" chmod 750 "$install_dir/index.php" #================================================= # END OF SCRIPT #================================================= ynh_script_progression "Upgrade of $app completed"