mirror of
https://github.com/YunoHost-Apps/mautrix_signal_ynh.git
synced 2024-09-03 19:46:07 +02:00
62 lines
2.3 KiB
Bash
Executable file
62 lines
2.3 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# This script is intended to handle the upgrade from python to go.
|
|
# It should be ran exactly once, when installing a post-v5.0 version onto a pre-v5.0 version.
|
|
#
|
|
# This script is intended to be sourced from the main upgrade script, in order to retain variables
|
|
|
|
#=================================================
|
|
# MIGRATION 1 : PYTHON TO GO BRIDGE
|
|
#=================================================
|
|
|
|
# Version 0.5.1 of Mautrix Signal Bridge is written in Go, whereas previous versions
|
|
# were written in Python. Also signald data is not needed anymore.
|
|
|
|
signald_data="/var/lib/signald"
|
|
signald_exe="/usr/bin/signald"
|
|
signald_user="signald"
|
|
|
|
# Stop signald, and force stop all processes just in case
|
|
# We do not care about data loss, since we are going to delete the data anyway
|
|
ynh_systemd_action --service_name="signald" --action="stop"
|
|
sleep 10 # Temporisation to allow signald to stop gracefully
|
|
pkill -u "$signald_user" --signal 9 || true
|
|
|
|
# Remove rustup
|
|
if [ -e "$install_dir/.rustup" ]; then
|
|
ynh_exec_as "$app" "$install_dir/.cargo/bin/rustup" self uninstall
|
|
fi
|
|
|
|
# Remove signald executable
|
|
ynh_remove_systemd_config --service="signald"
|
|
ynh_secure_remove --file="$signald_exe"
|
|
|
|
# Remove signald data
|
|
ynh_secure_remove --file="$signald_data"
|
|
|
|
# Remove signald system user and group
|
|
ynh_system_user_delete --username=$signald_user
|
|
if ynh_system_group_exists --group="$signald_user"; then
|
|
groupdel "$signald_user"
|
|
fi
|
|
|
|
|
|
#=================================================
|
|
# MIGRATION 2 : MISSING CONFIGURATION VARIABLES
|
|
#=================================================
|
|
|
|
# Check if variable exists
|
|
enable_relaybot="$(ynh_app_setting_get --app="$app" --key=enable_relaybot)"
|
|
|
|
if [[ ! "$enable_relaybot" = "true" && ! "$enable_relaybot" = "false" ]] # Check setting is valid
|
|
then
|
|
enable_relaybot=$(python yaml2json.py "$install_dir/config.yaml" | jq -r .bridge.relay.enabled)
|
|
if [[ ! "$enable_relaybot" = "true" && ! "$enable_relaybot" = "false" ]]
|
|
then
|
|
ynh_script_progression --message="Previous setting for enable_relaybot was invalid, defaulting to enabled" --weight=2
|
|
enable_relaybot="true"
|
|
else
|
|
ynh_script_progression --message="Migrating previous configuration value for enable_relaybot: $enable_relaybot" --weight=1
|
|
fi
|
|
ynh_app_setting_set --app="$app" --key=enable_relaybot --value="$enable_relaybot"
|
|
fi
|