#!/bin/sh
ARCH=$(rpm -q --qf '%{ARCH}' basesystem-minimal)
BASEARCH=$(dnf config-manager --dump-variables |grep '^basearch =' |cut -d= -f2 |xargs echo)
RELEASEVER=$(dnf config-manager --dump-variables |grep '^releasever =' |cut -d= -f2 |xargs echo)

enabled() {
	local TREE="$1"
	local REPO="$2"
	local DNFREPO="$TREE-$ARCH"
	[ "$REPO" != "main" ] && DNFREPO="$DNFREPO-$REPO"
	local ENABLED=$(dnf config-manager --dump $DNFREPO 2>/dev/null |grep '^enabled =' |cut -d= -f2 |xargs echo)
	[ "$ENABLED" = "1" ] || [ "$ENABLED" = "true" ] || [ "$ENABLED" = "on" ]
}

for i in cooker rolling rock release $RELEASEVER; do
	enabled $i main && VERSION="$i"
done
if [ -z "$VERSION" ]; then
	kdialog --error $"Couldn't determine if you're running cooker, rolling or rock. Something seems to be wrong with your DNF configuration."
	exit 1
fi

exec pkexec dnf config-manager --set-enabled $VERSION-$ARCH-"$@"
