mirror of
https://github.com/YunoHost-Apps/diaspora_ynh.git
synced 2024-09-03 18:26:13 +02:00
105 lines
3.6 KiB
Bash
105 lines
3.6 KiB
Bash
#!/bin/bash
|
|
|
|
#=================================================
|
|
# GENERIC START
|
|
#=================================================
|
|
# IMPORT GENERIC HELPERS
|
|
#=================================================
|
|
|
|
source _common.sh
|
|
source /usr/share/yunohost/helpers
|
|
|
|
can_remove_db=${can_remove_db:=1}
|
|
can_remove_home=${can_remov_home:=1}
|
|
can_remove_user=${can_remove_user:=1}
|
|
|
|
#=================================================
|
|
# LOAD SETTINGS
|
|
#=================================================
|
|
ynh_script_progression --message="Load settings"
|
|
app=$YNH_APP_INSTANCE_NAME
|
|
|
|
domain=$(ynh_app_setting_get $app domain)
|
|
db_name=$(ynh_app_setting_get $app db_name)
|
|
final_path=$(ynh_app_setting_get $app final_path)
|
|
|
|
#=================================================
|
|
# STANDARD REMOVE
|
|
#=================================================
|
|
# STOP AND REMOVE SERVICE
|
|
#=================================================
|
|
ynh_script_progression --message="Remove services"
|
|
yunohost service remove $app.target
|
|
systemctl stop ${app}.target ${app}_sidekiq.service ${app}_web.service
|
|
systemctl disable ${app}.target ${app}_sidekiq.service ${app}_web.service --quiet
|
|
ynh_secure_remove --file="/etc/systemd/system/${app}_web.service"
|
|
ynh_secure_remove --file="/etc/systemd/system/${app}_sidekiq.service"
|
|
ynh_secure_remove --file="/etc/tmpfiles.d/${app}.conf"
|
|
ynh_secure_remove --file="/etc/systemd/system/${app}.target"
|
|
ynh_secure_remove --file="/run/${app}"
|
|
systemctl daemon-reload
|
|
|
|
#=================================================
|
|
# REMOVE SERVICE FROM ADMIN PANEL
|
|
#=================================================
|
|
|
|
if yunohost service status | grep -q $app
|
|
then
|
|
echo "Remove $app service"
|
|
yunohost service remove $app
|
|
fi
|
|
|
|
#=================================================
|
|
# REMOVE THE POSTGRESQL DATABASE
|
|
#=================================================
|
|
if [ $can_remove_db -eq 1 ]; then
|
|
ynh_script_progression --message="Remove database"
|
|
# Remove a database if it exists, along with the associated user
|
|
ynh_psql_remove_db $db_name $db_name
|
|
fi
|
|
|
|
#=================================================
|
|
# REMOVE DEPENDENCIES
|
|
#=================================================
|
|
ynh_script_progression --message="Remove app dependencies" --weight=10
|
|
# Remove metapackage and its dependencies
|
|
ynh_remove_app_dependencies
|
|
|
|
#=================================================
|
|
# REMOVE NGINX CONFIGURATION
|
|
#=================================================
|
|
ynh_script_progression --message="Remove nginx config"
|
|
|
|
# Remove the dedicated nginx config
|
|
ynh_remove_nginx_config
|
|
|
|
#=================================================
|
|
# GENERIC FINALIZATION
|
|
#=================================================
|
|
# REMOVE DEDICATED USER
|
|
#=================================================
|
|
if [ $can_remove_user -eq 1 ]; then
|
|
ynh_script_progression --message="Remove $app user"
|
|
# Delete a system user
|
|
# because we use gpg, sometimes rogue processes (gpg an d dirmngr) stays a bit,
|
|
# preventing the deletion of the user. Hence we kill all processes belonging to $app
|
|
pkill -9 -u `id -u $app`
|
|
ynh_system_user_delete $app
|
|
fi
|
|
|
|
#=================================================
|
|
# REMOVE RUBY
|
|
#=================================================
|
|
ynh_script_progression --message="Remove ruby (if this is the last app using it)"
|
|
source $final_path/Experimental_helpers/ynh_install_ruby/ynh_install_ruby
|
|
ynh_remove_ruby
|
|
|
|
#=================================================
|
|
# REMOVE APP MAIN DIR
|
|
#=================================================
|
|
if [ $can_remove_home -eq 1 ]; then
|
|
ynh_script_progression --message="Remove $final_path"
|
|
# Remove the app directory securely
|
|
ynh_secure_remove "$final_path"
|
|
fi
|
|
|