1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/element_ynh.git synced 2024-09-03 18:36:08 +02:00

Full package upgrade

This commit is contained in:
Josué Tille 2019-10-01 21:30:25 +02:00
parent 41d782a45f
commit 1cd28f0699
No known key found for this signature in database
GPG key ID: 716A6C99B04194EF
9 changed files with 72 additions and 52 deletions

View file

@ -3,7 +3,7 @@
"id": "riot",
"packaging_format": 1,
"requirements": {
"yunohost": ">= 2.7.14"
"yunohost": ">= 3.5.2.2"
},
"description": {
"en": "A web client for matrix",

View file

@ -13,11 +13,11 @@ final_path="/var/www/$app"
config_riot() {
cp ../conf/config.json $final_path/config.json
ynh_replace_string __DEFAULT_SERVER__ $default_home_server $final_path/config.json
ynh_replace_string --match_string __DEFAULT_SERVER__ --replace_string $default_home_server --target_file $final_path/config.json
}
install_source() {
ynh_setup_source $final_path/
ynh_setup_source --dest_dir $final_path/
# if the default homeserver is external we dont add the sso support
if [[ $(yunohost domain list | grep "$default_home_server") ]]

View file

@ -19,14 +19,17 @@ source ../settings/scripts/_common.sh
#=================================================
# Retrieve arguments
domain=$(ynh_app_setting_get $app domain)
ynh_script_progression --message="Loading installation settings..."
domain=$(ynh_app_setting_get --app $app --key domain)
ynh_script_progression --message="Backing configuration..."
# Copy Nginx config
ynh_backup "/etc/nginx/conf.d/${domain}.d/${app}.conf" "nginx.conf"
ynh_backup --src_path "/etc/nginx/conf.d/${domain}.d/${app}.conf" "nginx.conf"
# BACKUP THE PHP-FPM CONFIGURATION
ynh_backup "/etc/php5/fpm/pool.d/$app.conf"
ynh_backup --src_path "/etc/php5/fpm/pool.d/$app.conf"
# Backup riot files
ynh_backup "/var/www/$app"
ynh_script_progression --message="Backing up the main app directory..."
ynh_backup --src_path "/var/www/$app"

View file

@ -15,23 +15,28 @@ source ./experimental_helper.sh
source ./_common.sh
# Retrive arguments
ynh_script_progression --message="Loading installation settings..."
old_domain=$YNH_APP_OLD_DOMAIN
path_url=$(ynh_normalize_url_path ${YNH_APP_NEW_PATH:-'/'})
path_url=$(ynh_normalize_url_path --path_url ${YNH_APP_NEW_PATH:-'/'})
domain=$YNH_APP_NEW_DOMAIN
#=================================================
# STANDARD MODIFICATIONS
#=================================================
ynh_script_progression --message="Updating configuration..."
# Update nginx config
if [ "$old_domain" != "$domain" ]
then
# Delete file checksum for the old conf file location
ynh_delete_file_checksum "/etc/nginx/conf.d/$old_domain.d/$app.conf"
ynh_delete_file_checksum --file "/etc/nginx/conf.d/$old_domain.d/$app.conf"
mv "/etc/nginx/conf.d/$old_domain.d/$app.conf" "/etc/nginx/conf.d/$domain.d/$app.conf"
# Store file checksum for the new config file location
ynh_store_file_checksum "/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_store_file_checksum --file "/etc/nginx/conf.d/$domain.d/$app.conf"
fi
ynh_add_nginx_config
ynh_script_progression --message="Change of URL completed for $app" --last

View file

@ -1,10 +0,0 @@
# Delete a file checksum from the app settings
#
# $app should be defined when calling this helper
#
# usage: ynh_remove_file_checksum file
# | arg: file - The file for which the checksum will be deleted
ynh_delete_file_checksum () {
local checksum_setting_name=checksum_${1//[\/ ]/_} # Replace all '/' and ' ' by '_'
ynh_app_setting_delete $app $checksum_setting_name
}

View file

@ -14,35 +14,40 @@ ynh_abort_if_errors
source ./experimental_helper.sh
source ./_common.sh
ynh_script_progression --message="Validating installation parameters..."
# Retrieve arguments
domain=$YNH_APP_ARG_DOMAIN
path_url=$(ynh_normalize_url_path $YNH_APP_ARG_PATH)
path_url=$(ynh_normalize_url_path --path_url $YNH_APP_ARG_PATH)
is_public=$YNH_APP_ARG_IS_PUBLIC
default_home_server=$YNH_APP_ARG_DEFAULT_HOME_SERVER
# Check domain/path availability
ynh_webpath_available $domain $path_url || ynh_die "$domain$path_url is not available, please use an other domain or path."
ynh_webpath_register $app $domain $path_url
# Register (book) web path
ynh_webpath_register --app $app --domain $domain --path_url $path_url
# Check Final Path availability
test ! -e "$final_path" || ynh_die "This path already contains a folder"
test ! -e "$final_path" || ynh_die --message "This path already contains a folder"
# Enregistre les infos dans la config YunoHost
ynh_app_setting_set $app is_public $is_public
ynh_app_setting_set $app default_home_server $default_home_server
ynh_app_setting_set $app final_path $final_path
ynh_script_progression --message="Storing installation settings..."
ynh_app_setting_set --app $app --key is_public --value $is_public
ynh_app_setting_set --app $app --key default_home_server --value $default_home_server
ynh_app_setting_set --app $app --key final_path --value $final_path
#=================================================
# STANDARD MODIFICATIONS
#=================================================
# Create a system user
ynh_system_user_create $app
ynh_script_progression --message="Configuring system user..."
ynh_system_user_create --username $app
# Get source and install in source dir
ynh_script_progression --message="Installing sources files..." --weight=10
install_source
# Create a dedicated php-fpm config
ynh_script_progression --message="Configuring application..."
ynh_add_fpm_config
# Update Riot config
@ -56,13 +61,15 @@ ynh_add_nginx_config
#=================================================
# Set final permission
ynh_script_progression --message="Protecting directory"
set_permission
ynh_script_progression --message="Configuring permissions"
if [ "$is_public" = "0" ];
then # Retire l'accès public
ynh_app_setting_delete $app skipped_uris
ynh_app_setting_delete --app $app --key skipped_uris
else
ynh_app_setting_set $app unprotected_uris "/"
ynh_app_setting_set --app $app --key unprotected_uris --value "/"
fi
# Recharge la configuration Nginx

View file

@ -16,16 +16,20 @@ source ./_common.sh
#=================================================
# Retrieve arguments
domain=$(ynh_app_setting_get $app domain)
ynh_script_progression --message="Loading installation settings..."
domain=$(ynh_app_setting_get --app $app --key domain)
# Remove all files
ynh_script_progression --message="Removing app main directory..." --weight=4
ynh_secure_remove --file="/var/www/$app"
# Suppression de la configuration nginx
ynh_script_progression --message="Removing configuration..."
ynh_remove_nginx_config
# Remove the dedicated php-fpm config
ynh_remove_fpm_config
# Remove all files
ynh_secure_remove "/var/www/$app"
# Suppression de la configuration nginx
ynh_remove_nginx_config
# Delete a system user
ynh_system_user_delete $app
ynh_script_progression --message="Removing apps user..."
ynh_system_user_delete --username $app

View file

@ -15,20 +15,23 @@ source ../settings/scripts/experimental_helper.sh
source ../settings/scripts/_common.sh
# Retrieve arguments
domain=$(ynh_app_setting_get $app domain)
path_url=$(ynh_app_setting_get $app path)
ynh_script_progression --message="Loading settings..."
domain=$(ynh_app_setting_get --app $app --key domain)
path_url=$(ynh_app_setting_get --app $app --key path)
# Check domain/path availability
ynh_webpath_available $domain $path_url || ynh_die "$domain/$path_url is not available, please use an other domain or path."
ynh_webpath_available --domain $domain --path_url $path_url || ynh_die --message "$domain/$path_url is not available, please use an other domain or path."
#=================================================
# STANDARD RESTORATION STEPS
#=================================================
# Create a system user
ynh_system_user_create $app
ynh_script_progression --message="Recreating the dedicated system user..."
ynh_system_user_create --username $app
# Restore all config and data
ynh_script_progression --message="Restoring files..." --weight=10
ynh_restore
#=================================================
@ -36,8 +39,10 @@ ynh_restore
#=================================================
# Set final permission
ynh_script_progression --message="Protecting directory..."
set_permission
# Reload nginx
ynh_script_progression --message="Reloading services..."
systemctl reload nginx.service
systemctl reload php5-fpm
systemctl reload php5-fpm

View file

@ -15,27 +15,32 @@ source ./experimental_helper.sh
source ./_common.sh
# Retrieve arguments
domain=$(ynh_app_setting_get $app domain)
path_url=$(ynh_normalize_url_path $(ynh_app_setting_get $app path))
is_public=$(ynh_app_setting_get $app is_public)
final_path=$(ynh_app_setting_get $app final_path)
default_home_server=$(ynh_app_setting_get $app default_home_server)
ynh_script_progression --message="Loading installation settings..."
domain=$(ynh_app_setting_get --app $app --key domain)
path_url=$(ynh_normalize_url_path --path_url $(ynh_app_setting_get --app $app --key path))
is_public=$(ynh_app_setting_get --app $app --key is_public)
final_path=$(ynh_app_setting_get --app $app --key final_path)
default_home_server=$(ynh_app_setting_get --app $app --key default_home_server)
#=================================================
# MIGRATION FROM OLD VERSION
#=================================================
# Create a system user
grep "riot" "/etc/passwd" || ynh_system_user_create $app
ynh_script_progression --message="Migrating application..." --weight=1
grep "riot" "/etc/passwd" || ynh_system_user_create --username $app
#=================================================
# STANDARD UPGRADE STEPS
#=================================================
# Get source and install in source dir
ynh_secure_remove $final_path/bundles
ynh_script_progression --message="Upgrading source files..." --weight=6
ynh_secure_remove --file=$final_path/bundles
install_source
ynh_script_progression --message="Configuring application..."
# Create a dedicated php-fpm config
ynh_add_fpm_config
@ -50,6 +55,7 @@ ynh_add_nginx_config
#=================================================
# Set final permission
ynh_script_progression --message="Protecting directory..."
set_permission
# Recharge la configuration Nginx