#!/bin/bash #================================================= # GENERIC START #================================================= # IMPORT GENERIC HELPERS #================================================= source _common.sh source /usr/share/yunohost/helpers #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= ynh_script_progression --message="Upgrading source files..." --weight=1 # Move config.php to temp folder # Can't use the --keep="config.php" option pushd "$install_dir" ynh_exec_warn_less mv ./config.php /tmp/ popd # Download, check integrity, uncompress and patch the source from app.src ynh_setup_source --dest_dir="$install_dir" --full_replace=1 ynh_exec_warn_less mkdir "$install_dir/soap_cache" ynh_exec_warn_less mkdir "$install_dir/composer" chmod 750 "$install_dir" chmod -R o-rwx "$install_dir" chown -R $app:www-data "$install_dir" pushd "$install_dir" ynh_exec_warn_less mv ./www_data/* . ynh_exec_warn_less mv /tmp/config.php . ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < db/demo.sql ynh_script_progression --message="Checking if a database migration is needed" if ynh_compare_current_package_version --comparison le --version 7.0~ynh5 then ynh_script_progression --message="7.0.5 to 8.0 database migration required, migrating" ynh_add_config --template="../conf/migrate_7.0.5.sql" --destination="$install_dir/migrate_7.0.5.sql" ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < migrate_7.0.5.sql ynh_add_config --template="../conf/migrate_7.0.6.sql" --destination="$install_dir/migrate_7.0.6.sql" ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < migrate_7.0.6.sql ynh_add_config --template="../conf/migrate_9.0.3.sql" --destination="$install_dir/migrate_9.0.3.sql" ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < migrate_9.0.3.sql else if ynh_compare_current_package_version --comparison le --version 7.0~ynh6 then ynh_script_progression --message="7.0.6 to 8.0 database migration required, migrating" ynh_add_config --template="../conf/migrate_7.0.6.sql" --destination="$install_dir/migrate_7.0.6.sql" ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < migrate_7.0.6.sql ynh_add_config --template="../conf/migrate_9.0.3.sql" --destination="$install_dir/migrate_9.0.3.sql" ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < migrate_9.0.3.sql else if ynh_compare_current_package_version --comparison le --version 9.0~ynh3 then ynh_add_config --template="../conf/migrate_9.0.3.sql" --destination="$install_dir/migrate_9.0.3.sql" ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < migrate_9.0.3.sql else ynh_script_progression --message="7.0.6 to 8.0 database migration not required since package > 7.0.6" fi fi fi ynh_script_progression --message="You shouldn't see this" popd #================================================= # SPECIFIC SETUP #================================================= # INSTALL COMPOSER DEPENDENCIES #================================================= ynh_script_progression --message="Installing composer dependencies..." --weight=1 ynh_exec_warn_less ynh_install_composer --phpversion="$phpversion" --composerversion="$YNH_COMPOSER_VERSION" --workdir="$install_dir" # worckaround while https://github.com/chartjs/Chart.js/issues/11478 is not fixed ynh_exec_warn_less mkdir "$install_dir/vendor/chartjs" ynh_exec_warn_less curl -o "$install_dir/vendor/chartjs"/chart.js https://cdn.jsdelivr.net/npm/chart.js ynh_exec_warn_less curl -o "$install_dir/vendor/chartjs"/chart.umd.js.map https://cdn.jsdelivr.net/npm/chart.js@4.4.1/dist/chart.umd.js.map #================================================= # PHP-FPM CONFIGURATION #================================================= ynh_script_progression --message="Upgrading PHP-FPM configuration..." --weight=1 # Create a dedicated PHP-FPM config ynh_add_fpm_config # Create a dedicated NGINX config ynh_add_nginx_config ynh_add_config --template="../conf/moncycleapp.cron" --destination="/etc/cron.d/$app" chown root: "/etc/cron.d/$app" chmod 644 "/etc/cron.d/$app" #================================================= # ADD A CONFIGURATION #================================================= ynh_script_progression --message="Adding a configuration file..." --weight=1 ynh_add_config --template="../conf/config.php" --destination="$install_dir/config.php" chmod 400 "$install_dir/config.php" chown $app:$app "$install_dir/config.php" # Remove old version file and replace it ynh_secure_remove --file="$install_dir/api/version.json" ynh_add_config --template="../conf/version.json" --destination="$install_dir/api/version.json" chmod 655 "$install_dir/api/version.json" chown $app:www-data "$install_dir/api/version.json" #================================================= # END OF SCRIPT #================================================= ynh_script_progression --message="Upgrade of $app completed" --last