#!/bin/sh

set -e

gpg_key_base64()
{
	cat << EOF
mDMEabR7ORYJKwYBBAHaRw8BAQdAwQzJ57cYRIRqr/0/DqvyVBWLoDvQxDifcwtIKAh4AoO0NVN2
ZW4tT2xhIFR1ZWNrZSAoUmVwbyBzaWduaW5nIG9ubHkpIDxzdmVuLW9sYUBnbXguZGU+iJAEExYK
ADgWIQRx3aFKOxLAdyWmla8+UrpsfsC9ggUCabR7OQIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIX
gAAKCRA+UrpsfsC9gk/yAQCkwtIlQ+l6IWTjosy9+hXJsPZ44bFvicfwMxF6dPckRAD+O8QurH2+
+SOtIKpILL0i115WzCxnROqLA+4Dlzns/Qw=
EOF
}

case $(id -u) in 0);;*)
	echo "Script needs to be run as root!" >&2
	exit 1
;;esac

dist=$(sed -n 's,^\s*VERSION_CODENAME\s*=\s*,,p' /etc/os-release)
case ${dist} in noble|trixie);;*)
	echo "*** Warning: This script is tested for Ubuntu noble or Debian trixie ***" >&2
	echo "*** Stop (Ctrl-C) now or press [Return] for Debian trixie as default ***" >&2
	read n
	dist=trixie
;;esac

gpg_key_base64 | base64 -d > /etc/apt/trusted.gpg.d/sven-ola.gpg
cat > /etc/apt/sources.list.d/sven-ola.sources << EOF
Types: deb deb-src
URIs: https://privat-in.de/armbian
Suites: ${dist}
Components: main
Signed-By: /etc/apt/trusted.gpg.d/sven-ola.gpg
EOF

cat > /etc/apt/preferences.d/sven-ola << EOF
Package: *
Pin: release o=Sven-Ola
Pin-Priority: 1000
EOF

apt-get update
apt-get install -y img-gpu-powervr
apt-get dist-upgrade -y --allow-downgrades
apt-get autoremove -y
apt-get clean

case ${dist} in noble)
	# Bianbu noble has newer and Spacemit-customized browser version
	apt-get install -y chromium
;;*)
	apt-get install -y chromium-browser-stable
;;esac
apt-get clean

case $(dpkg-query -W --showformat='${Status}' gdm3 2>/dev/null) in *" ok installed");;*)
	apt-get install -y gdm3
;;esac
case $(dpkg-query -W --showformat='${Status}' lightdm 2>/dev/null) in *" ok installed")
	systemctl disable lightdm
;;esac

echo OK.
