#!/bin/bash

OS=`uname`
KERNEL=`uname -r`
MACH=`uname -m`


if [ "${OS}" != "Linux" ] ; then
echo 'Linux not detected'
exit
fi

ARG=$1

if [ -z "$ARG" ] || [ "${ARG}" == "--help" ] ; then
	echo '** Script for installing Linux on a Chromebook (2023) **';
	echo 'Usage: scal-install-linux.sh [options]...'
	echo '  --install [release]'
	echo '        Install a specified version of Linux'	
	echo '        Example: scal-install-linux.sh --install xenial'		
	echo '        Example: scal-install-linux.sh --install 16'
    echo '  --setup'
    echo '        After running --install, --setup needs to be run in the chroot'
    echo '        Example: sudo enter-chroot'
    echo '                 scal-install-linux.sh --setup'
	echo '  --remove [release]'
	echo '        Delete the specified install'
	echo '        Example: scal-install-linux.sh --remove xenial'				
	echo '  --versions '
	echo '        Show available release versions that can be installed'
	echo '        Example: scal-install-linux.sh --versions'			
	echo '  --help'
	echo '        Show usage and help'
fi


if [ "${ARG}" == "--versions" ] ; then
#echo '22 - kinetic'
echo '22 - jammy'
#echo '21 - impish'
#echo '21.04 - hirsute!'
#echo '20.10 - groovy!'
echo '20 - focal (default)'
#echo '19.10 - eoan!'
#echo '19.04 - disco!'
#echo '18 - bionic'
#echo '17 - zesty'
echo '16 - xenial'
fi

if [ "${ARG}" == "--remove" ] ; then
    if [ -e ~/.config/xfce4 ]; then
        echo 'Please logout of the chroot first with the exit command'
        exit
    fi
    
	ARG2=$2
	if [ -z "$ARG2" ] ; then
        echo 'Please specify which linux chroot to remove (Example: scal-install-linux.sh --remove focal)'
        echo 'Current installs:'
		#chnames=`sudo edit-chroot -l -a`
        #chnames=$(echo "$chnames" | grep -E 'name:')
        ls /mnt/stateful_partition/crouton/chroots
		exit
	fi
	echo "Are you sure you want to remove Linux ($ARG2)? (y/n)"
	read cvar
	cvar=$(echo "$cvar" | tr '[:upper:]' '[:lower:]')
	if [ "${cvar}" == "y" ]; then
		echo 'Removing Linux (crouton)...'
		echo "Removing chroot $ARG2"
		sudo delete-chroot "$ARG2"
#		sudo rm /usr/local/bin/crouton
#		sudo rm /usr/local/bin/startxfce4
	fi

	echo 'Done'
	exit
elif [ "${ARG}" == "--setup" ] ; then
    echo 'Setup SSH'
    sudo apt install -y ssh
    if [ -e /etc/rc.local ]; then
        sudo rm /etc/rc.local
    fi
    echo $'#!/bin/sh -e\n#\n/etc/init.d/ssh start &\nexit 0\n' | sudo tee -a /etc/rc.local > /dev/null
    sudo chmod 755 /etc/rc.local
    sudo /etc/init.d/ssh start
    echo 'Done'
    exit
fi
	
release="focal"
if [ "${ARG}" == "--install" ] || [ "${ARG}" == "--install-full" ]; then
	ARG2=$2

	if [ "${ARG2}" == "16" ] || [ "${ARG2}" == "xenial" ]; then	
		release="xenial"
	elif [ "${ARG2}" == "bionic" ]; then	
		release="bionic"
	elif [ "${ARG2}" == "20" ] || [ "${ARG2}" == "focal" ]; then	
		release="focal"		
	elif [ "${ARG2}" == "impish" ] ; then	
		release="impish"		
	elif [ "${ARG2}" == "22" ] || [ "${ARG2}" == "jammy" ] ; then	
		release="jammy"
	elif [ "${ARG2}" == "buster" ] ; then	
		release="buster"
	elif [ "${ARG2}" == "bullseye" ] ; then	
		release="bullseye"		
	elif [ "${ARG2}" == "bookworm" ] ; then	
		release="bookworm"
	else
		if [ -n "$ARG2" ] ; then
			echo 'Invalid version specified'
			exit
		fi
	fi
	
	echo "Install $release ? (y/n)"
	read cvar
	cvar=$(echo "$cvar" | tr '[:upper:]' '[:lower:]')
	if [ "${cvar}" == "y" ]; then
		echo 'Downloading...'
		curl -sS https://raw.githubusercontent.com/dnschneid/crouton/master/installer/crouton > /tmp/crouton
		echo 'Preparing to run...'
		sudo install -Dt /usr/local/bin -m 755 /tmp/crouton
		echo 'Installing...'
        mkdir ~/.scal
		if [ "${ARG}" == "--install-full" ]; then
            sudo crouton -r $release -t xfce
		else
            sudo CROUTON_BRANCH=silence crouton -r $release -t xfce
		fi

    fi
fi
	

