#!/bin/bash
KOMPAS_REPO_URL="${KOMPAS_REPO_URL:-https://repo.ascon.ru/stable/rpm/redos/8.0/}"
KOMPAS_REPO_URL1="${KOMPAS_REPO_URL1:-https://repo.ascon.ru/personal/rpm/redos/8.0/}"

REPO_ARGS=(--repofrompath "kompas,$KOMPAS_REPO_URL")
ENABLE_ARGS=(--disablerepo '*' --enablerepo kompas)
[ -n "$KOMPAS_REPO_URL1" ] && REPO_ARGS+=(--repofrompath "kompas1,$KOMPAS_REPO_URL1") && ENABLE_ARGS+=(--enablerepo kompas1)
[ -n "$KOMPAS_REPO_URL2" ] && REPO_ARGS+=(--repofrompath "kompas2,$KOMPAS_REPO_URL2") && ENABLE_ARGS+=(--enablerepo kompas2)
[ -d /usr/share/kompas/repo ] && REPO_ARGS+=(--repofrompath "kompaslocal,/usr/share/kompas/repo") && ENABLE_ARGS+=(--enablerepo kompaslocal)

installed_rpms_from_ascon=""
while read -r line
do
	rpm -q "$line" &>/dev/null && installed_rpms_from_ascon+=" $line"
done < <(dnf -q --refresh "${REPO_ARGS[@]}" "${ENABLE_ARGS[@]}" repoquery --qf '%{name}')

if [ -z "$installed_rpms_from_ascon" ]; then
	echo "Ни один из пакетов из репозитория Аскон не установлен, нечего обновлять"
	exit 0
fi

dnf "${REPO_ARGS[@]}" upgrade -y $installed_rpms_from_ascon
