#!/bin/bash #================================================= # GENERIC START #================================================= # IMPORT GENERIC HELPERS #================================================= source _common.sh source /usr/share/yunohost/helpers #================================================= # DISABLE METRONOME #================================================= ynh_script_progression --message="Disabling Metronome..." if systemctl list-unit-files metronome.service &>/dev/null then ynh_systemd_action --service_name="metronome" --action="stop" systemctl disable metronome.service --quiet fi #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= ynh_script_progression --message="Setting up source files..." builddir="$(mktemp -d)" ynh_setup_source --dest_dir="$builddir" --source_id=prosody snikketdir="$(mktemp -d)" ynh_setup_source --dest_dir="$snikketdir" moddir="$(mktemp -d)" ynh_setup_source --dest_dir="$moddir" --source_id=prosody-modules #================================================= # SPECIFIC SETUP #================================================= # BUILD PROSODY #================================================= ynh_script_progression --message="Building Prosody..." update-alternatives --set lua-interpreter /usr/bin/lua${luaversion} pushd "$builddir" ./configure --sysconfdir="/etc/$app" --datadir="/var/lib/$app" make make install # Install Prosody-Migrator pushd "tools/migration" make install popd popd ynh_secure_remove --file="$builddir" #================================================= # ADD A CONFIGURATION #================================================= ynh_script_progression --message="Adding Prosody configuration..." config_path=/etc/$app ynh_app_setting_set --app=$app --key=config_path --value=$config_path mkdir -p $config_path mkdir -p $config_path/{certs,conf.avail,conf.d} mkdir -p $config_path/firewall ynh_add_config --template="$snikketdir/ansible/files/prosody.cfg.lua" --destination="$config_path/prosody.cfg.lua" ynh_add_config --template="$snikketdir/ansible/files/restricted_users.pfw" --destination="$config_path/restricted_users.pfw" # Add Prosody-Migrator config ynh_add_config --template="$snikketdir/ansible/files/migrator.cfg.lua" --destination="$config_path/migrator.cfg.lua" chown root:root "$config_path" chmod 755 "$config_path" chown root:$app "$config_path/conf.d" chmod 754 "$config_path/conf.d" chown root:$app "$config_path/conf.avail" chmod 754 "$config_path/conf.avail" chown root:$app "$config_path/certs" chmod 750 "$config_path/certs" #================================================= # SETUP MODULES #================================================= ynh_script_progression --message="Intalling modules..." mkdir -p "/etc/$app/modules" while read module do cp -r "$moddir/$module" "/etc/$app/modules/$module" done < "../sources/prosody-modules.txt" while read module do cp -r "$snikketdir/snikket-modules/$module" "/etc/$app/modules/$module" done < "../sources/snikket-modules.txt" #================================================= # SETUP SNIKKET CONFIG #================================================= ynh_script_progression --message="Updating Snikket configuration..." # TODO: The admin email won't work for subdomains cat >/etc/snikket/environment <