2018-10-03 20:48:14 +02:00
|
|
|
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
# Title
|
2019-02-16 15:13:33 +02:00
|
|
|
echo " _ _ _ "
|
|
|
|
echo " | | ___ _ __ | (_)_ __ "
|
|
|
|
echo " _ | |/ _ \| '_ \| | | '_ \ "
|
|
|
|
echo "| |_| | (_) | |_) | | | | | |"
|
|
|
|
echo " \___/ \___/| .__/|_|_|_| |_|"
|
|
|
|
echo " |_|"
|
2018-10-24 20:17:18 +02:00
|
|
|
echo ""
|
2019-03-08 19:32:20 +02:00
|
|
|
echo "Linux Installer and Updater"
|
2019-02-16 15:13:33 +02:00
|
|
|
|
|
|
|
#-----------------------------------------------------
|
|
|
|
# Variables
|
|
|
|
#-----------------------------------------------------
|
|
|
|
COLOR_RED=`tput setaf 1`
|
|
|
|
COLOR_GREEN=`tput setaf 2`
|
|
|
|
COLOR_RESET=`tput sgr0`
|
2018-10-24 20:17:18 +02:00
|
|
|
|
2018-11-20 23:54:58 +02:00
|
|
|
# Check and warn if running as root.
|
|
|
|
if [[ $EUID = 0 ]] ; then
|
|
|
|
if [[ $* != *--allow-root* ]] ; then
|
2019-02-16 15:13:33 +02:00
|
|
|
echo "${COLOR_RED}It is not recommended (nor necessary) to run this script as root. To do so anyway, please use '--allow-root'${COLOR_RESET}"
|
2018-11-20 23:54:58 +02:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2018-10-24 20:17:18 +02:00
|
|
|
#-----------------------------------------------------
|
|
|
|
# Download Joplin
|
|
|
|
#-----------------------------------------------------
|
2018-10-03 20:48:14 +02:00
|
|
|
|
|
|
|
# Get the latest version to download
|
|
|
|
version=$(curl --silent "https://api.github.com/repos/laurent22/joplin/releases/latest" | grep -Po '"tag_name": "v\K.*?(?=")')
|
|
|
|
|
2018-10-24 20:17:18 +02:00
|
|
|
# Check if it's in the latest version
|
2019-03-08 19:32:20 +02:00
|
|
|
if [[ ! -e ~/.joplin/VERSION ]] || [[ $(< ~/.joplin/VERSION) != "$version" ]]; then
|
2018-10-03 20:48:14 +02:00
|
|
|
|
2019-03-08 19:32:20 +02:00
|
|
|
echo 'Downloading Joplin...'
|
2018-10-24 20:17:18 +02:00
|
|
|
# Delete previous version
|
|
|
|
rm -f ~/.joplin/*.AppImage ~/.local/share/applications/joplin.desktop ~/.joplin/VERSION
|
|
|
|
|
|
|
|
# Creates the folder where the binary will be stored
|
|
|
|
mkdir -p ~/.joplin/
|
|
|
|
|
|
|
|
# Download the latest version
|
2019-03-08 19:32:20 +02:00
|
|
|
wget -nv --show-progress -O ~/.joplin/Joplin.AppImage https://github.com/laurent22/joplin/releases/download/v$version/Joplin-$version-x86_64.AppImage
|
2018-10-24 20:17:18 +02:00
|
|
|
|
|
|
|
# Gives execution privileges
|
|
|
|
chmod +x ~/.joplin/Joplin.AppImage
|
|
|
|
|
2019-02-16 15:13:33 +02:00
|
|
|
echo "${COLOR_GREEN}OK${COLOR_RESET}"
|
|
|
|
|
2018-10-24 20:17:18 +02:00
|
|
|
#-----------------------------------------------------
|
|
|
|
# Icon
|
|
|
|
#-----------------------------------------------------
|
|
|
|
|
|
|
|
# Download icon
|
2019-03-08 19:32:20 +02:00
|
|
|
echo 'Downloading icon...'
|
2019-02-16 15:13:33 +02:00
|
|
|
wget -nv -O ~/.joplin/Icon512.png https://joplin.cozic.net/images/Icon512.png
|
|
|
|
echo "${COLOR_GREEN}OK${COLOR_RESET}"
|
2018-10-24 20:17:18 +02:00
|
|
|
|
|
|
|
# Detect desktop environment
|
|
|
|
if [ "$XDG_CURRENT_DESKTOP" = "" ]
|
|
|
|
then
|
|
|
|
desktop=$(echo "$XDG_DATA_DIRS" | sed 's/.*\(xfce\|kde\|gnome\).*/\1/')
|
|
|
|
else
|
|
|
|
desktop=$XDG_CURRENT_DESKTOP
|
|
|
|
fi
|
|
|
|
desktop=${desktop,,} # convert to lower case
|
2018-10-03 20:48:14 +02:00
|
|
|
|
2018-10-24 20:17:18 +02:00
|
|
|
# Create icon for Gnome
|
2019-02-16 15:13:33 +02:00
|
|
|
echo 'Create Desktop icon.'
|
2019-03-08 19:33:15 +02:00
|
|
|
if [[ $desktop =~ .*gnome.*|.*kde.*|.*xfce.*|.*mate.* ]]
|
2018-10-24 20:17:18 +02:00
|
|
|
then
|
2018-12-11 22:51:47 +02:00
|
|
|
echo -e "[Desktop Entry]\nEncoding=UTF-8\nName=Joplin\nExec=/home/$USER/.joplin/Joplin.AppImage\nIcon=/home/$USER/.joplin/Icon512.png\nType=Application\nCategories=Application;" >> ~/.local/share/applications/joplin.desktop
|
2019-03-08 19:33:15 +02:00
|
|
|
echo "${COLOR_GREEN}OK${COLOR_RESET}"
|
|
|
|
else
|
|
|
|
echo "${COLOR_RED}NOT DONE${COLOR_RESET}"
|
2018-10-24 20:17:18 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
#-----------------------------------------------------
|
|
|
|
# Finish
|
|
|
|
#-----------------------------------------------------
|
|
|
|
|
|
|
|
# Informs the user that it has been installed and cleans variables
|
2019-03-08 19:32:20 +02:00
|
|
|
echo "${COLOR_GREEN}Joplin version${COLOR_RESET}" $version "${COLOR_GREEN}installed.${COLOR_RESET}"
|
2018-10-24 20:17:18 +02:00
|
|
|
# Add version
|
|
|
|
echo $version > ~/.joplin/VERSION
|
2018-10-03 20:48:14 +02:00
|
|
|
else
|
2019-03-08 19:32:20 +02:00
|
|
|
echo "${COLOR_GREEN}You already have the latest version${COLOR_RESET}" $version "${COLOR_GREEN}installed.${COLOR_RESET}"
|
2018-10-03 20:48:14 +02:00
|
|
|
fi
|
2019-02-16 15:13:33 +02:00
|
|
|
echo 'Bye!'
|
2018-10-03 20:48:14 +02:00
|
|
|
unset version
|