#!/bin/sh
if [ -t 0 ]; then dnf in -y yandex-browser && dnf rm -y yandex-browser-repo-install || echo "Запустите скрипт с sudo"; exit; fi
# Выясняем, установлен ли браузер.
(rpm -q yandex-browser &>/dev/null || rpm -q get-yandex-browser &>/dev/null) && dnf rm -y yandex-browser-repo-install && exit
(
echo "10"
echo "# Обновление информации"
#
# Обновляем метадату.
dnf refresh -q || KEY=1
# Выясняем, существует ли пакет установки браузера.
[[ $KEY = 1 ]] || dnf in --assumeno yandex-browser 2>/dev/null |grep -q "==" && KEY=0 || KEY=2
# Пробуем скачать пакет установки браузера, если есть.
if [[ $KEY = 0 ]]; then
	echo "30"
	echo "# Скачивание Яндекс Браузера"
	dnf in -qy --downloadonly yandex-browser &>/dev/null || KEY=3
fi
# Если получилось скачать - пробуем ставить браузер.
echo "60"
echo "# Установка Яндекс Браузера"
dnf in -qy yandex-browser &>/dev/null || KEY=4
# Если получилось поставить - удаляем установщик.
if [[ $KEY = 0 ]]; then
	echo "90"
	echo "# Удаление установщика Яндекс Браузера"
	dnf rm -qy yandex-browser-repo-install &>/dev/null || KEY=5
fi
echo "100"
# Сообщаем результат.
if [[ $KEY = 0 ]]; then
	echo "# Установка Яндекс Браузера завершена"
fi
if [[ $KEY = 1 ]]; then
	echo "# Не удалось обновить метадату\nПроверьте связь с сервером"
fi
if [[ $KEY = 2 ]]; then
	echo "# Не удалось найти пакет установки браузера\nyandex-browser\nОн ещё поддерживается?"
fi
if [[ $KEY = 3 ]]; then
	echo "# Не удалось скачать пакет установки браузера\nyandex-browser\nПроверьте стабильность связи с сервером"
fi
if [[ $KEY = 4 ]]; then
	echo "# Не удалось установить браузер\nТребуется починка пакета yandex-browser"
fi
if [[ $KEY = 5 ]]; then
	echo "# Установка Яндекс Браузера завершена\n\nНе удалось удалить установщик\nТребуется удаление пакета\nyandex-browser-repo-install\nвручную"
fi
) |
zenity --progress \
	--title="Установщик Яндекс Браузера" \
	--text="Установка..." \
	--percentage=0 \
	--width=280

if [ "$?" = -1 ]; then
	zenity --error \
	--text="Установка отменена."
else
	yandex-browser-stable
fi
