1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/moodle_ynh.git synced 2024-09-03 19:46:23 +02:00

Upgrade to 3.10.1 (#31)

* Upgrade to 3.10.1
This commit is contained in:
Éric Gaspar 2021-02-14 22:37:29 +01:00 committed by GitHub
parent e06c440642
commit 030e915e68
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 66 additions and 77 deletions

View file

@ -11,7 +11,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in
Moodle is widely used around the world by universities, schools, companies and all manner of organisations and individuals.
**Shipped version:** 3.10.0
**Shipped version:** 3.10.1
## Screenshots

View file

@ -18,8 +18,6 @@
multi_instance=1
port_already_use=0
change_url=0
;;; Levels
Level 5=auto
;;; Options
Email=
Notification=none

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/moodle/moodle/archive/v3.10.0.zip
SOURCE_SUM=c80cfa811acda62363cccdd876bf001e802ceccb1f261846c9e59c6a66f6b125
SOURCE_URL=https://github.com/moodle/moodle/archive/v3.10.1.zip
SOURCE_SUM=e61c53ce6e972e18e9ef34ad4406654dacc9b627059f7fb1437d6db0a801c308
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -6,7 +6,7 @@
"en": "Online learning platform",
"fr": "Plateforme d'apprentissage en ligne"
},
"version": "3.10.0~ynh1",
"version": "3.10.1~ynh1",
"url": "https://moodle.org/",
"license": "GPL-3.0-or-later",
"maintainer": {

View file

@ -13,6 +13,4 @@
## Package_check results
---
*If you have access to [App Continuous Integration for packagers](https://yunohost.org/#/packaging_apps_ci) you can provide a link to the package_check results like below, replacing '-NUM-' in this link by the PR number and USERNAME by your username on the ci-apps-dev. Or you provide a screenshot or a pastebin of the results*
[![Build Status](https://ci-apps-dev.yunohost.org/jenkins/job/moodle_ynh%20PR-NUM-%20(USERNAME)/badge/icon)](https://ci-apps-dev.yunohost.org/jenkins/job/moodle_ynh%20PR-NUM-%20(USERNAME)/)
* An automatic package_check will be launch at https://ci-apps-dev.yunohost.org/, when you add a specific comment to your Pull Request: "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!"*

View file

@ -32,7 +32,7 @@ app=$YNH_APP_INSTANCE_NAME
#=================================================
# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS
#=================================================
ynh_script_progression --message="Validating installation parameters..."
ynh_script_progression --message="Validating installation parameters..." --weight=1
final_path=/var/www/$app
test ! -e "$final_path" || ynh_die --message="This path already contains a folder"
@ -45,7 +45,7 @@ ynh_webpath_register --app="$app" --domain="$domain" --path_url="$path_url"
#=================================================
# STORE SETTINGS FROM MANIFEST
#=================================================
ynh_script_progression --message="Storing installation settings..."
ynh_script_progression --message="Storing installation settings..." --weight=1
ynh_app_setting_set --app="$app" --key=domain --value="$domain"
ynh_app_setting_set --app="$app" --key=path --value="$path_url"
@ -57,7 +57,7 @@ ynh_app_setting_set --app="$app" --key=is_public --value="$is_public"
#=================================================
# INSTALL DEPENDENCIES
#=================================================
ynh_script_progression --message="Installing dependencies..."
ynh_script_progression --message="Installing dependencies..." --weight=1
ynh_install_app_dependencies "$pkg_dependencies"
@ -117,15 +117,15 @@ phpversion=$(ynh_app_setting_get --app="$app" --key=phpversion)
ynh_app_setting_set --app="$app" --key=data_path --value="$data_path"
mkdir -p "$data_path"
chown -R "$app": "$data_path"
chown -R "$app": "$final_path"
chown -R $app: "$data_path"
chown -R $app: "$final_path"
#=================================================
# SETUP APPLICATION
#=================================================
ynh_script_progression --message="Setting up the application..." --weight=190
exec_as "$app" php"$phpversion" "$final_path/admin/cli/install.php" --wwwroot="https://$domain${path_url%/}" --dataroot="$data_path" --dbtype='pgsql' --dbname="$db_name" --dbuser="$db_name" --dbpass="$db_pwd" --adminuser="$admin" --adminpass="$password" --adminemail="$email" --fullname="YunoHost" --shortname="YNH" --non-interactive --agree-license
exec_as $app php${phpversion} "$final_path/admin/cli/install.php" --wwwroot="https://$domain${path_url%/}" --dataroot="$data_path" --dbtype='pgsql' --dbname="$db_name" --dbuser="$db_name" --dbpass="$db_pwd" --adminuser="$admin" --adminpass="$password" --adminemail="$email" --fullname="YunoHost" --shortname="YNH" --non-interactive --agree-license
# Calculate and store the config file checksum into the app settings
ynh_store_file_checksum "$final_path/config.php"
@ -133,7 +133,7 @@ ynh_store_file_checksum "$final_path/config.php"
#=================================================
# ACTIVATE LDAP SUPPORT
#=================================================
ynh_script_progression --message="Activate LDAP support..."
ynh_script_progression --message="Activate LDAP support..." --weight=3
ynh_psql_execute_as_root --database="$db_name" --sql="UPDATE public.mdl_config SET value='ldap,email' WHERE name='auth';"
ynh_psql_execute_as_root --database="$db_name" --sql="UPDATE public.mdl_config_plugins SET value='ldap://127.0.0.1/' WHERE plugin='auth_ldap' AND name='host_url';"
@ -148,12 +148,12 @@ ynh_psql_execute_as_root --database="$db_name" --sql="UPDATE public.mdl_config_p
# The admin is an ldap user
ynh_psql_execute_as_root --database="$db_name" --sql="UPDATE public.mdl_user SET auth='ldap' WHERE username='$admin';"
exec_as "$app" php"$phpversion" "$final_path/admin/cli/purge_caches.php"
exec_as $app php${phpversion} "$final_path/admin/cli/purge_caches.php"
#=================================================
# ADD CRON JOB
#=================================================
ynh_script_progression --message="Adding cron job..."
ynh_script_progression --message="Adding cron job..." --weight=2
# Set up poller
cp "../conf/cron" "/etc/cron.d/$app"
@ -166,22 +166,21 @@ ynh_replace_string --match_string="__PHPVERSION__" --replace_string="$phpversion
#=================================================
# SECURE FILES AND DIRECTORIES
#=================================================
ynh_script_progression --message="Securing files and directories..."
ynh_script_progression --message="Securing files and directories..." --weight=1
# Set permissions to app files
chown -R "$app": "$data_path"
chown -R "$app": "$final_path"
chown -R $app: "$data_path"
chown -R $app: "$final_path"
#=================================================
# SETUP SSOWAT
#=================================================
ynh_script_progression --message="Configuring SSOwat..."
ynh_script_progression --message="Configuring permissions..." --weight=1
# Make app public if necessary
if [ "$is_public" -eq 1 ]
if [ $is_public -eq 1 ]
then
# unprotected_uris allows SSO credentials to be passed anyway.
ynh_app_setting_set --app="$app" --key=unprotected_uris --value="/"
ynh_permission_update --permission="main" --add="visitors"
fi
#=================================================

View file

@ -12,7 +12,7 @@ source /usr/share/yunohost/helpers
#=================================================
# LOAD SETTINGS
#=================================================
ynh_script_progression --message="Loading installation settings..."
ynh_script_progression --message="Loading installation settings..." --weight=1
app=$YNH_APP_INSTANCE_NAME
@ -27,7 +27,7 @@ data_path=$(ynh_app_setting_get --app="$app" --key=data_path)
#=================================================
# REMOVE THE POSTGRESQL DATABASE
#=================================================
ynh_script_progression --message="Removing the PostgreSQL database..."
ynh_script_progression --message="Removing the PostgreSQL database..." --weight=1
# Remove a database if it exists, along with the associated user
ynh_psql_remove_db --db_user="$db_user" --db_name="$db_name"
@ -35,7 +35,7 @@ ynh_psql_remove_db --db_user="$db_user" --db_name="$db_name"
#=================================================
# REMOVE DEPENDENCIES
#=================================================
ynh_script_progression --message="Removing dependencies..."
ynh_script_progression --message="Removing dependencies..." --weight=1
# Remove metapackage and its dependencies
ynh_remove_app_dependencies
@ -43,7 +43,7 @@ ynh_remove_app_dependencies
#=================================================
# REMOVE APP MAIN DIR
#=================================================
ynh_script_progression --message="Removing Moodle main directory..."
ynh_script_progression --message="Removing Moodle main directory..." --weight=2
# Remove the app directory securely
ynh_secure_remove --file="$final_path"
@ -51,7 +51,7 @@ ynh_secure_remove --file="$final_path"
#=================================================
# REMOVE NGINX CONFIGURATION
#=================================================
ynh_script_progression --message="Removing NGINX web server configuration..."
ynh_script_progression --message="Removing NGINX web server configuration..." --weight=1
# Remove the dedicated NGINX config
ynh_remove_nginx_config
@ -69,7 +69,7 @@ ynh_remove_fpm_config
#=================================================
# REMOVE VARIOUS FILES
#=================================================
ynh_script_progression --message="Removing various files..."
ynh_script_progression --message="Removing various files..." --weight=2
# Remove a cron file
ynh_secure_remove --file="/etc/cron.d/$app"
@ -82,10 +82,10 @@ ynh_secure_remove --file="$data_path"
#=================================================
# REMOVE DEDICATED USER
#=================================================
ynh_script_progression --message="Removing the dedicated system user..."
ynh_script_progression --message="Removing the dedicated system user..." --weight=1
# Delete a system user
ynh_system_user_delete --username="$app"
ynh_system_user_delete --username=$app
#=================================================
# END OF SCRIPT

View file

@ -19,7 +19,7 @@ ynh_abort_if_errors
#=================================================
# LOAD SETTINGS
#=================================================
ynh_script_progression --message="Loading settings..."
ynh_script_progression --message="Loading settings..." --weight=1
app=$YNH_APP_INSTANCE_NAME
@ -34,7 +34,7 @@ phpversion=$(ynh_app_setting_get --app="$app" --key=phpversion)
#=================================================
# CHECK IF THE APP CAN BE RESTORED
#=================================================
ynh_script_progression --message="Validating restoration parameters..."
ynh_script_progression --message="Validating restoration parameters..." --weight=1
ynh_webpath_available --domain="$domain" --path_url="$path_url" \
|| ynh_die --message="Path not available: ${domain}${path_url}"
@ -48,14 +48,14 @@ test ! -d "$data_path" \
#=================================================
# RESTORE THE NGINX CONFIGURATION
#=================================================
ynh_script_progression --message="Restoring the NGINX configuration..."
ynh_script_progression --message="Restoring the NGINX configuration..." --weight=1
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
#=================================================
# RESTORE THE APP MAIN DIR
#=================================================
ynh_script_progression --message="Restoring Moodle main directory..."
ynh_script_progression --message="Restoring Moodle main directory..." --weight=1
ynh_restore_file --origin_path="$final_path"
@ -64,10 +64,10 @@ ynh_restore_file --origin_path="$data_path"
#=================================================
# RECREATE THE DEDICATED USER
#=================================================
ynh_script_progression --message="Recreating the dedicated system user..."
ynh_script_progression --message="Recreating the dedicated system user..." --weight=1
# Create the dedicated user (if not existing)
ynh_system_user_create --username="$app"
ynh_system_user_create --username=$app
#=================================================
# RESTORE USER RIGHTS
@ -75,13 +75,13 @@ ynh_system_user_create --username="$app"
ynh_script_progression --message="Restoring user rights..."
# Restore permissions on app files
chown -R "$app": "$final_path"
chown -R "$app": "$data_path"
chown -R $app: "$final_path"
chown -R $app: "$data_path"
#=================================================
# RESTORE THE PHP-FPM CONFIGURATION
#=================================================
ynh_script_progression --message="Restoring PHP-FPM configuration..."
ynh_script_progression --message="Restoring PHP-FPM configuration..." --weight=1
ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf"
@ -93,7 +93,7 @@ ynh_add_fpm_config --package="$extra_php_dependencies"
#=================================================
# REINSTALL DEPENDENCIES
#=================================================
ynh_script_progression --message="Reinstalling dependencies..."
ynh_script_progression --message="Reinstalling dependencies..." --weight=3
# Define and install dependencies
ynh_install_app_dependencies "$pkg_dependencies"
@ -112,7 +112,7 @@ ynh_psql_connect_as --user="$db_user" --password="$db_pwd" --database="$db_name"
#=================================================
# RESTORE THE CRON FILE
#=================================================
ynh_script_progression --message="Restoring the cron file..."
ynh_script_progression --message="Restoring the cron file..." --weight=3
ynh_restore_file --origin_path="/etc/cron.d/$app"
@ -121,7 +121,7 @@ ynh_restore_file --origin_path="/etc/cron.d/$app"
#=================================================
# RELOAD NGINX AND PHP-FPM
#=================================================
ynh_script_progression --message="Reloading NGINX web server and PHP-FPM..."
ynh_script_progression --message="Reloading NGINX web server and PHP-FPM..." --weight=1
ynh_systemd_action --service_name=php$phpversion-fpm --action=reload
ynh_systemd_action --service_name=nginx --action=reload

View file

@ -12,7 +12,7 @@ source /usr/share/yunohost/helpers
#=================================================
# LOAD SETTINGS
#=================================================
ynh_script_progression --message="Loading installation settings..."
ynh_script_progression --message="Loading installation settings..." --weight=1
app=$YNH_APP_INSTANCE_NAME
@ -27,20 +27,26 @@ db_name=$(ynh_app_setting_get --app="$app" --key=db_name)
#=================================================
# CHECK VERSION
#=================================================
ynh_script_progression --message="Checking version..."
upgrade_type=$(ynh_check_app_version_changed)
#=================================================
# ENSURE DOWNWARD COMPATIBILITY
#=================================================
ynh_script_progression --message="Ensuring downward compatibility..."
ynh_script_progression --message="Ensuring downward compatibility..." --weight=1
# If the admin is not defined, We can't upgrade this app
if [ -z "$admin" ]; then
ynh_die --message="This app can't be upgraded from a very old version of the package. Please remove and reinstall moodle_ynh"
fi
# Cleaning legacy permissions
if ynh_legacy_permissions_exists; then
ynh_legacy_permissions_delete_all
ynh_app_setting_delete --app=$app --key=is_public
fi
#=================================================
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
#=================================================
@ -72,7 +78,7 @@ fi
#=================================================
# NGINX CONFIGURATION
#=================================================
ynh_script_progression --message="Upgrading NGINX web server configuration..."
ynh_script_progression --message="Upgrading NGINX web server configuration..." --weight=1
# Create a dedicated nginx config
ynh_add_nginx_config
@ -80,22 +86,22 @@ ynh_add_nginx_config
#=================================================
# UPGRADE DEPENDENCIES
#=================================================
ynh_script_progression --message="Upgrading dependencies..."
ynh_script_progression --message="Upgrading dependencies..." --weight=1
ynh_install_app_dependencies "$pkg_dependencies"
ynh_install_app_dependencies $pkg_dependencies
#=================================================
# CREATE DEDICATED USER
#=================================================
ynh_script_progression --message="Making sure dedicated system user exists..."
ynh_script_progression --message="Making sure dedicated system user exists..." --weight=4
# Create a dedicated user (if not existing)
ynh_system_user_create --username="$app"
ynh_system_user_create --username=$app
#=================================================
# PHP-FPM CONFIGURATION
#=================================================
ynh_script_progression --message="Upgrading PHP-FPM configuration..."
ynh_script_progression --message="Upgrading PHP-FPM configuration..." --weight=1
# Create a dedicated PHP-FPM config
ynh_add_fpm_config --package="$extra_php_dependencies"
@ -106,11 +112,11 @@ phpversion=$(ynh_app_setting_get --app="$app" --key=phpversion)
#=================================================
# UPGRADING THE APPLICATION
#=================================================
ynh_script_progression --message="Upgrading the application..."
ynh_script_progression --message="Upgrading the application..." --weight=1
ynh_backup_if_checksum_is_different --file="$final_path/config.php"
exec_as "$app" php"$phpversion" "$final_path/admin/cli/upgrade.php" --non-interactive
exec_as $app php${phpversion} "$final_path/admin/cli/upgrade.php" --non-interactive
# Recalculate and store the checksum of the file for the next upgrade.
ynh_store_file_checksum --file="$final_path/config.php"
@ -120,13 +126,13 @@ ynh_store_file_checksum --file="$final_path/config.php"
#=================================================
# Set permissions on app files
chown -R "$app": "$data_path"
chown -R "$app": "$final_path"
chown -R $app: "$data_path"
chown -R $app: "$final_path"
#=================================================
# ACTIVATE LDAP SUPPORT
#=================================================
ynh_script_progression --message="Activate LDAP support..."
ynh_script_progression --message="Activate LDAP support..." --weight=20
ynh_psql_execute_as_root --database="$db_name" --sql="UPDATE public.mdl_config SET value='ldap,email' WHERE name='auth';"
ynh_psql_execute_as_root --database="$db_name" --sql="UPDATE public.mdl_config_plugins SET value='ldap://127.0.0.1/' WHERE plugin='auth_ldap' AND name='host_url';"
@ -141,12 +147,12 @@ ynh_psql_execute_as_root --database="$db_name" --sql="UPDATE public.mdl_config_p
# The admin is an ldap user
ynh_psql_execute_as_root --database="$db_name" --sql="UPDATE public.mdl_user SET auth='ldap' WHERE username='$admin';"
exec_as "$app" php"$phpversion" "$final_path/admin/cli/purge_caches.php"
exec_as $app php${phpversion} "$final_path/admin/cli/purge_caches.php"
#=================================================
# ADD CRON JOB
#=================================================
ynh_script_progression --message="Adding cron job..."
ynh_script_progression --message="Adding cron job..." --weight=4
# Set up poller
cp "../conf/cron" "/etc/cron.d/$app"
@ -159,28 +165,16 @@ ynh_replace_string "__PHPVERSION__" "$phpversion" "/etc/cron.d/$app"
#=================================================
# SECURE FILES AND DIRECTORIES
#=================================================
ynh_script_progression --message="Securing files and directories..."
ynh_script_progression --message="Securing files and directories..." --weight=1
# Set permissions on app files
chown -R "$app": "$data_path"
chown -R "$app": "$final_path"
#=================================================
# SETUP SSOWAT
#=================================================
ynh_script_progression --message="Upgrading SSOwat configuration..."
# Make app public if necessary
if [ "$is_public" -eq 1 ]
then
# unprotected_uris allows SSO credentials to be passed anyway
ynh_app_setting_set --app="$app" --key=unprotected_uris --value="/"
fi
chown -R $app: "$data_path"
chown -R $app: "$final_path"
#=================================================
# RELOAD NGINX
#=================================================
ynh_script_progression --message="Reloading NGINX web server..."
ynh_script_progression --message="Reloading NGINX web server..." --weight=1
ynh_systemd_action --service_name=nginx --action=reload