From 0b78db8c099ff907c01f9c6306ce67a66626c074 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Mon, 29 Jan 2024 14:32:20 +0100 Subject: [PATCH] continue packaging v2 --- scripts/backup | 23 +------------- scripts/install | 8 ++--- scripts/restore | 47 +++++++---------------------- scripts/upgrade | 80 ++++++------------------------------------------- 4 files changed, 25 insertions(+), 133 deletions(-) diff --git a/scripts/backup b/scripts/backup index 32782c7..637142e 100644 --- a/scripts/backup +++ b/scripts/backup @@ -10,25 +10,6 @@ source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -#REMOVEME? ynh_clean_setup () { - ynh_clean_check_starting -} -# Exit if an error occurs during the execution of the script -#REMOVEME? ynh_abort_if_errors - -#================================================= -# LOAD SETTINGS -#================================================= -#REMOVEME? ynh_print_info --message="Loading installation settings..." - -#REMOVEME? app=$YNH_APP_INSTANCE_NAME - -#REMOVEME? domain=$(ynh_app_setting_get --app=$app --key=domain) - #================================================= # DECLARE DATA AND CONF FILES TO BACKUP #================================================= @@ -41,9 +22,7 @@ ynh_print_info --message="Declaring files to be backed up..." ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" #================================================= -# SPECIFIC BACKUP -#================================================= -# BACKUP CONFIGURATION +# BACKUP VARIOUS FILES #================================================= ynh_backup --src_path="/etc/coolwsd/coolwsd.xml" diff --git a/scripts/install b/scripts/install index 71d8e02..615a4d6 100644 --- a/scripts/install +++ b/scripts/install @@ -25,7 +25,7 @@ ynh_script_progression --message="Installing config file..." --weight=2 # config directory which of course doesn't exists and we want to disable SSL # because we're in a reverse proxy context... mkdir -p /etc/coolwsd -ynh_add_config --template="../conf/coolwsd.xml" --destination="/etc/coolwsd/coolwsd.xml" +ynh_add_config --template="coolwsd.xml" --destination="/etc/coolwsd/coolwsd.xml" chmod 640 "/etc/coolwsd/coolwsd.xml" chown cool:root -R /etc/coolwsd @@ -40,8 +40,6 @@ ynh_add_nginx_config yunohost service add "coolwsd" --description="Collabora online office suite" --log="/var/log/$app/$app.log" -ynh_exec_warn systemctl cat coolwsd - #================================================= # GENERIC FINALIZATION #================================================= @@ -49,10 +47,12 @@ ynh_exec_warn systemctl cat coolwsd #================================================= ynh_script_progression --message="Starting a systemd service..." --weight=5 -# Start a systemd service # NB. : we need a stupid *re*start because the service is in fact already started during the damn package install ... so it won't find a recent "Ready to accept connection" match ... ynh_systemd_action --service_name="coolwsd" --action="stop" --log_path="systemd" +# The service installed by the deb package failed in loop, thus the reset-failed. systemctl reset-failed coolwsd + +# Start a systemd service ynh_systemd_action --service_name="coolwsd" --action="start" --log_path="systemd" --line_match="Ready to accept connections" #================================================= diff --git a/scripts/restore b/scripts/restore index a358701..a03a214 100644 --- a/scripts/restore +++ b/scripts/restore @@ -10,26 +10,6 @@ source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -#REMOVEME? ynh_clean_setup () { - ynh_clean_check_starting -} -# Exit if an error occurs during the execution of the script -#REMOVEME? ynh_abort_if_errors - -#================================================= -# LOAD SETTINGS -#================================================= -ynh_script_progression --message="Loading settings..." --weight=1 - -#REMOVEME? app=$YNH_APP_INSTANCE_NAME - -#REMOVEME? domain=$(ynh_app_setting_get --app=$app --key=domain) -#REMOVEME? path=$(ynh_app_setting_get --app=$app --key=path) - #================================================= # STANDARD RESTORATION STEPS #================================================= @@ -44,17 +24,9 @@ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" ynh_script_progression --message="Restoring the configuration..." --weight=3 ynh_restore_file --origin_path="/etc/coolwsd/coolwsd.xml" + chmod 640 "/etc/coolwsd/coolwsd.xml" - -#================================================= -# SPECIFIC RESTORATION -#================================================= -# REINSTALL DEPENDENCIES -#================================================= -#REMOVEME? ynh_script_progression --message="Reinstalling dependencies..." --weight=10 - -DEBIAN_VERSION_NUMBER=$(cat /etc/debian_version | head -n 1 | cut -f1 -d .) -#REMOVEME? ynh_install_extra_app_dependencies --repo="deb https://collaboraoffice.com/repos/CollaboraOnline/CODE-debian${DEBIAN_VERSION_NUMBER} ./ " --package="$pkg_dependencies" --key="https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x0C54D189F4BA284D" 2>/dev/null +chown cool:root -R /etc/coolwsd #================================================= # INTEGRATE SERVICE IN YUNOHOST @@ -63,17 +35,20 @@ ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 yunohost service add "coolwsd" --description="Collabora online office suite" --log="/var/log/$app/$app.log" +#================================================= +# GENERIC FINALIZATION #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." --weight=1 +ynh_script_progression --message="Starting a systemd service..." --weight=5 -ynh_systemd_action --service_name="coolwsd" --action="restart" --log_path="systemd" --line_match="Ready to accept connections" +# NB. : we need a stupid *re*start because the service is in fact already started during the damn package install ... so it won't find a recent "Ready to accept connection" match ... +ynh_systemd_action --service_name="coolwsd" --action="stop" --log_path="systemd" +# The service installed by the deb package failed in loop, thus the reset-failed. +systemctl reset-failed coolwsd -#================================================= -# RELOAD NGINX -#================================================= -ynh_script_progression --message="Reloading NGINX web server..." --weight=2 +# Start a systemd service +ynh_systemd_action --service_name="coolwsd" --action="start" --log_path="systemd" --line_match="Ready to accept connections" ynh_systemd_action --service_name=nginx --action=reload diff --git a/scripts/upgrade b/scripts/upgrade index 7762fb3..0247200 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -9,65 +9,23 @@ source _common.sh source /usr/share/yunohost/helpers -#================================================= -# LOAD SETTINGS -#================================================= -#REMOVEME? ynh_script_progression --message="Loading installation settings..." --weight=1 - -#REMOVEME? app=$YNH_APP_INSTANCE_NAME - -#REMOVEME? domain=$(ynh_app_setting_get --app="$app" --key=domain) -#REMOVEME? path=$(ynh_app_setting_get --app=$app --key=path) -#REMOVEME? port=$(ynh_app_setting_get --app=$app --key=port) -#REMOVEME? password=$(ynh_app_setting_get --app="$app" --key=password) -#REMOVEME? nextcloud_domain=$(ynh_app_setting_get --app="$app" --key=nextcloud_domain) - #================================================= # ENSURE DOWNWARD COMPATIBILITY #================================================= ynh_script_progression --message="Ensuring downward compatibility..." --weight=2 -if ynh_compare_current_package_version --comparison le --version 6.4.10~ynh2 -then - ynh_die --message="Upgrade from version 6.4.10 is not possible. You must uninstall and reinstall Collabora package manually" +if ynh_compare_current_package_version --comparison le --version 6.4.10~ynh2; then + ynh_die --message="Upgrade from version 6.4.10 is not possible. You must uninstall and reinstall Collabora package manually" fi -# If db_name doesn't exist, create it -if [ -z "$path" ]; then - path="/" -#REMOVEME? ynh_app_setting_set --app=$app --key=path --value=$path -fi - -#REMOVEME? if ynh_legacy_permissions_exists; then -#REMOVEME? ynh_legacy_permissions_delete_all - - ynh_app_setting_delete --app=$app --key=is_public -fi - -#================================================= -# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP -#================================================= -#REMOVEME? ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." --weight=5 - -# Backup the current version of the app -#REMOVEME? ynh_backup_before_upgrade -#REMOVEME? ynh_clean_setup () { - # restore it if the upgrade fails - ynh_clean_check_starting -#REMOVEME? ynh_restore_upgradebackup -} -# Exit if an error occurs during the execution of the script -#REMOVEME? ynh_abort_if_errors - #================================================= # REMOVE OLD SERVICE INTEGRATION IN YUNOHOST #================================================= # Remove the old service from the list of services known by YunoHost (added from `yunohost service add`) -if ynh_exec_warn_less yunohost service status "loolwsd" >/dev/null -then - ynh_script_progression --message="Removing loolwsd service integration..." --weight=1 - yunohost service remove "loolwsd" +if ynh_exec_warn_less yunohost service status "loolwsd" >/dev/null; then + ynh_script_progression --message="Removing loolwsd service integration..." --weight=1 + yunohost service remove "loolwsd" fi #================================================= @@ -87,14 +45,6 @@ ynh_script_progression --message="Stopping a systemd service..." --weight=5 ynh_systemd_action --service_name="coolwsd" --action="stop" --log_path="systemd" --line_match="Stopped Collabora Online WebSocket Daemon" -#================================================= -# NGINX CONFIGURATION -#================================================= -ynh_script_progression --message="Upgrading NGINX web server configuration..." --weight=1 - -# Create a dedicated NGINX config -ynh_add_nginx_config - #================================================= # UPGRADE CONFIG #================================================= @@ -106,17 +56,12 @@ chown cool: "/etc/coolwsd/coolwsd.xml" chmod 640 "/etc/coolwsd/coolwsd.xml" #================================================= -# UPGRADE DEPENDENCIES +# REAPPLY SYSTEM CONFIGURATIONS #================================================= -#REMOVEME? ynh_script_progression --message="Upgrading dependencies..." --weight=10 +ynh_script_progression --message="Upgrading system configurations related to $app..." --weight=1 -DEBIAN_VERSION_NUMBER=$(cat /etc/debian_version | head -n 1 | cut -f1 -d .) -#REMOVEME? ynh_install_extra_app_dependencies --repo="deb https://collaboraoffice.com/repos/CollaboraOnline/CODE-debian${DEBIAN_VERSION_NUMBER} ./ " --package="$pkg_dependencies" --key="https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x0C54D189F4BA284D" 2>/dev/null - -#================================================= -# INTEGRATE SERVICE IN YUNOHOST -#================================================= -ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 +# Create a dedicated NGINX config +ynh_add_nginx_config yunohost service add "coolwsd" --description="Collabora online office suite" --log="/var/log/$app/$app.log" @@ -127,13 +72,6 @@ ynh_script_progression --message="Starting a systemd service..." --weight=3 ynh_systemd_action --service_name="coolwsd" --action="restart" --log_path="systemd" --line_match="Ready to accept connections" -#================================================= -# RELOAD NGINX -#================================================= -#REMOVEME? ynh_script_progression --message="Reloading NGINX web server..." --weight=1 - -#REMOVEME? ynh_systemd_action --service_name=nginx --action=reload - #================================================= # END OF SCRIPT #=================================================