#!/bin/bash

set -e

LOG_DIR="/var/log/rudesktop"
LOG_FILE="$LOG_DIR/update_$(date +'%Y%m%d_%H%M%S').log"
sudo mkdir -p $LOG_DIR

log_message() {
    echo "$(date +'%Y-%m-%d %H:%M:%S') - $1" | sudo tee -a $LOG_FILE
}

log_message "Начало установки/обновления сервера rudesktop."

# Проверка системы
if command -v rpm >/dev/null 2>&1; then
    log_message "Эта система на базе RPM."
else
    log_message "Эта система не на базе RPM. Выход."
    exit 1
fi

# Добавление репозитория
log_message "Добавление репозитория"
sudo bash -c "cat << EOF > /etc/yum.repos.d/rudesktop.repo
[rudesktop]
name=Rudesktop
baseurl=https://rudesktop.ru/repos/stable2.7/rpms
gpgcheck=0
enabled=1
EOF"

# Обновление системы
#log_message "Обновление системы."
#sudo dnf update -y
#if [ $? -eq 0 ]; then
#    log_message "Система успешно обновлена."
#else
#    log_message "Ошибка при обновлении системы."
#    exit 1
#fi


if ! rpm -q rudesktop-server; then
    # Установка сервера rudesktop
    log_message "Установка сервера rudesktop."
    sudo dnf install rudesktop-server -y
    if [ $? -eq 0 ]; then
        log_message "Сервер rudesktop успешно установлен."
    else
        log_message "Ошибка при установке сервера rudesktop."
        exit 1
    fi
else
    # Обновление сервера rudesktop
    log_message "Обновление сервера rudesktop."
    sudo dnf update rudesktop-server -y
    if [ $? -eq 0 ]; then
        log_message "Сервер rudesktop успешно обновлён."
    else
        log_message "Ошибка при обновлении сервера rudesktop."
        exit 1
    fi
fi

log_message "Установка/обновление сервера rudesktop завершено."
