98 lines
2.6 KiB
Bash
98 lines
2.6 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
lotion_mirror="https://github.com/puneetsl/lotion"
|
||
|
required_programs=(git tar 7z wget)
|
||
|
|
||
|
# Check for required programs
|
||
|
for cmd in ${required_programs[@]};
|
||
|
do
|
||
|
[ ! $(command -v $cmd) ] && echo Command $cmd is required to run this script && exit 1
|
||
|
done
|
||
|
|
||
|
# Select installation destination
|
||
|
[ "$EUID" -ne 0 ] && locally="yes" || locally="no"
|
||
|
|
||
|
installation_folder=$(pwd)
|
||
|
case $locally in
|
||
|
"yes")
|
||
|
echo "Installing for current user. If you want to install globally, run script as sudo"
|
||
|
installation_folder=~/.local/share/lotion/
|
||
|
executable_folder=~/.local/bin/
|
||
|
applications_folder=~/.local/share/applications/
|
||
|
;;
|
||
|
"no") echo "Installing program for all users. If you want to install program locally, run script without sudo"
|
||
|
installation_folder=/usr/share/lotion/
|
||
|
executable_folder=/usr/bin/
|
||
|
applications_folder=/usr/share/applications/
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
# Select installation type
|
||
|
cmd=$1
|
||
|
if [[ ! $cmd =~ native|web ]]; then
|
||
|
printf "\nSelect an installation type:\n\nweb - Installs the web app at the latest version\nnative - Installs the native windows app at v2.0.9 which has offline support.\n"
|
||
|
select cmd in web native
|
||
|
do
|
||
|
if [[ $cmd =~ native|web ]]; then
|
||
|
echo $cmd
|
||
|
break
|
||
|
else
|
||
|
echo "Please input 1 or 2"
|
||
|
fi
|
||
|
done
|
||
|
fi
|
||
|
|
||
|
# Create and copy current lotion folder
|
||
|
echo Copying to $installation_folder
|
||
|
|
||
|
rm -rf $installation_folder
|
||
|
mkdir $installation_folder
|
||
|
cd $installation_folder
|
||
|
cd /tmp
|
||
|
|
||
|
# Caching
|
||
|
if [ -d lotion ];
|
||
|
then
|
||
|
echo Do you want to use already cached lotion directory ? [yes/no] && read answer
|
||
|
case $answer in
|
||
|
"N" | "n" | "No" | "no") echo Downloading ... && rm -rf ./lotion && git clone --depth=1 $lotion_mirror ;;
|
||
|
"Y" | "y" | "Yes" | "yes") echo Using cached directory ... ;;
|
||
|
*) echo Invalid response, using cached directory ;;
|
||
|
esac
|
||
|
else
|
||
|
echo Downloading ...
|
||
|
git clone --depth=1 $lotion_mirror
|
||
|
fi
|
||
|
|
||
|
cd ./lotion
|
||
|
|
||
|
# Create and copy current lotion folder
|
||
|
echo Copying to $installation_folder
|
||
|
|
||
|
rm -rf $installation_folder
|
||
|
mkdir $installation_folder
|
||
|
cp -rf ./* $installation_folder
|
||
|
cd $installation_folder
|
||
|
|
||
|
# Installation
|
||
|
echo "$cmd"
|
||
|
if [[ -f install.sh ]]; then
|
||
|
./install.sh $cmd
|
||
|
else
|
||
|
echo Specified installment method \($cmd\) is not avaible
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
echo Linking executables ...
|
||
|
# Linking executables for terminal usage
|
||
|
ln -s $PWD/Lotion/Lotion ${executable_folder}lotion
|
||
|
ln -s $PWD/uninstall.sh ${executable_folder}lotion_uninstall
|
||
|
|
||
|
echo Copying shortcut ...
|
||
|
cp ./Lotion.desktop ${applications_folder}Lotion.desktop
|
||
|
|
||
|
echo Cleaning ...
|
||
|
#./clean.sh
|
||
|
|
||
|
echo Done !
|