#!/bin/bash

# install-liquorix script lets you install the 3th party Liquorix Linux kernel
# Copyright 2015-2025 Paweł "pavroo" Pijanowski <pavroo@onet.eu>
# Licensed under the GPLv2 license see /usr/share/common-licenses/GPL-2
# Created 2020/10/20
# Last update 2025/07/22

# get default's locale file
DEFLOCDIR="/usr/share/sparky/sparky-aptus-appcenter"
if [ "`cat /etc/default/locale | grep LANG= | grep de`" != "" ]; then
. $DEFLOCDIR/de
elif [ "`cat /etc/default/locale | grep LANG= | grep el`" != "" ]; then
. $DEFLOCDIR/el
elif [ "`cat /etc/default/locale | grep LANG= | grep es`" != "" ]; then
	if [ "`cat /etc/default/locale | grep LANG= | grep es_AR`" != "" ]; then
. $DEFLOCDIR/es_AR
	else
. $DEFLOCDIR/es_ES
	fi
elif [ "`cat /etc/default/locale | grep LANG= | grep fi`" != "" ]; then
. $DEFLOCDIR/fi
elif [ "`cat /etc/default/locale | grep LANG= | grep fr`" != "" ]; then
. $DEFLOCDIR/fr
elif [ "`cat /etc/default/locale | grep LANG= | grep hu`" != "" ]; then
. $DEFLOCDIR/hu
elif [ "`cat /etc/default/locale | grep LANG= | grep id_ID`" != "" ]; then
. $DEFLOCDIR/id_ID
elif [ "`cat /etc/default/locale | grep LANG= | grep it`" != "" ]; then
. $DEFLOCDIR/it
elif [ "`cat /etc/default/locale | grep LANG= | grep pl`" != "" ]; then
. $DEFLOCDIR/pl
elif [ "`cat /etc/default/locale | grep LANG= | grep pt_BR`" != "" ]; then
. $DEFLOCDIR/pt_BR
elif [ "`cat /etc/default/locale | grep LANG= | grep pt_PT`" != "" ]; then
. $DEFLOCDIR/pt_PT
elif [ "`cat /etc/default/locale | grep LANG= | grep ru`" != "" ]; then
. $DEFLOCDIR/ru
elif [ "`cat /etc/default/locale | grep LANG= | grep uk`" != "" ]; then
. $DEFLOCDIR/uk
elif [ "`cat /etc/default/locale | grep LANG= | grep zh_CN`" != "" ]; then
. $DEFLOCDIR/zh_CN
else
. $DEFLOCDIR/en
fi

testroot="`whoami`"
if [ "$testroot" != "root" ]; then
	echo " Must be root... Exiting"
	exit 1
fi

DIALOG="yad --window-icon=sparky-aptus-appcenter --width=600 --height=480 --center"
TITLE="--always-print-result --dialog-sep --image=sparky-aptus-appcenter --title="
TEXT="--text="
MENU="--list --column=$LOCAL049 --column=$LOCAL050"
OKEXIT=" --button=Ok:0 --button=$LOCAL001:1"
MSGBOX="--button=Ok:0"
TITLETEXT="APTus AppCenter"
ARCH64=`uname -r | grep "amd64" | awk '{print $1}'`
ARCHX64=`uname -r | grep "x64" | awk '{print $1}'`
if [ "$ARCH64" != "" ]; then
	ARCH="OK"
elif [ "$ARCHX64" != "" ]; then
	ARCH="OK"
else
	ARCH=""
fi
#TESTXANREPO=`dpkg-query -l | grep xanmod-repository`
if [ -f /usr/bin/sparky-xterm ]; then
	SPARKYXTERM="/usr/bin/sparky-xterm"
else
	echo "sparky-xterm is missing... Exiting..."
	exit 1
fi
CHECKNALA=`which nala`
if [ "$CHECKNALA" != "" ]; then
	UPDATE="nala update"
	INSTALL="nala install"
else
	UPDATE="apt-get update"
	INSTALL="apt-get install"
fi

# check connection
PINGTEST=$(ping -c 1 debian.org | grep [0-9])
if [ "$PINGTEST" = "" ]; then
	$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"\n$LOCAL016"
	exit 1
fi

# check arch64
if [ "$ARCH" = "" ]; then
	$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"\n$LOCAL078"
	exit 1
fi

CHOICES=`$DIALOG $TITLE"$TITLETEXT" $OKEXIT $MENU $TEXT"$LOCAL052" \
EDGE2 "$LOCAL079 v2" \
EDGE3 "$LOCAL079 v3" \
MAIN2 "$LOCAL080 v2" \
MAIN3 "$LOCAL080 v3" \
LTS2 "$LOCAL081 v2" \
LTS3 "$LOCAL081 v3" \
RT2 "$LOCAL082 v2" \
RT3 "$LOCAL082 v3" \
Exit "$LOCAL056"`

if [ "$?" = "0" ]; then
	CHOICE=`echo $CHOICES | cut -d "|" -f 1`
else
	exit 0
fi

if [ "$CHOICE" != "Exit" ]; then
	if [ -f /etc/apt/sources.list.d/xanmod-kernel.list ]; then
		rm -f /etc/apt/sources.list.d/xanmod-kernel.list
	fi
	if [ -f /etc/apt/sources.list.d/xanmod-release.list ]; then
		rm -f /etc/apt/sources.list.d/xanmod-release.list
	fi
	if [ ! -f /etc/apt/keyrings/xanmod-archive-keyring.gpg ]; then
		$SPARKYXTERM "wget -O - https://dl.xanmod.org/archive.key | gpg --dearmor -o /etc/apt/keyrings/xanmod-archive-keyring.gpg"
	fi
cat > /etc/apt/sources.list.d/xanmod-release.list <<FOO
deb [signed-by=/etc/apt/keyrings/xanmod-archive-keyring.gpg] http://deb.xanmod.org trixie main
FOO

fi

if [ "$CHOICE" = "EDGE2" ]; then
	# install latest EDGEv2 kernel
	$SPARKYXTERM "$UPDATE && $INSTALL linux-xanmod-edge-x64v2"
elif [ "$CHOICE" = "EDGE3" ]; then
	# install latest EDGEv3 kernel
	$SPARKYXTERM "$UPDATE && $INSTALL linux-xanmod-edge-x64v3"
elif [ "$CHOICE" = "MAIN2" ]; then
	# install current MAINv2 kernel
	$SPARKYXTERM "$UPDATE && $INSTALL linux-xanmod-x64v2"
elif [ "$CHOICE" = "MAIN3" ]; then
	# install current MAINv3 kernel
	$SPARKYXTERM "$UPDATE && $INSTALL linux-xanmod-x64v3"
elif [ "$CHOICE" = "LTS2" ]; then
	# install stable LTSv2 kernel
	$SPARKYXTERM "$UPDATE && $INSTALL linux-xanmod-lts-x64v2"
elif [ "$CHOICE" = "LTS3" ]; then
	# install stable LTSv3 kernel
	$SPARKYXTERM "$UPDATE && $INSTALL linux-xanmod-lts-x64v3"
elif [ "$CHOICE" = "RT2" ]; then
	# install latest real-timev2 kernel
	$SPARKYXTERM "$UPDATE && $INSTALL linux-xanmod-rt-x64v2"
elif [ "$CHOICE" = "RT3" ]; then
	# install latest real-timev3 kernel
	$SPARKYXTERM "$UPDATE && $INSTALL linux-xanmod-rt-x64v3"
elif [ "$CHOICE" = "Exit" ]; then
	exit 1
else
	exit 1
fi

exit 0
