1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-11-26 22:41:17 +02:00

Update Joplin_install_and_update.sh (#1952)

- Add argument: Mutes messages by console.
- Remove unset.
- Variables in capital letters.
This commit is contained in:
Andros Fenollosa
2019-10-05 19:14:45 +02:00
committed by Laurent Cozic
parent 60e9abdd61
commit c6842a8591

View File

@@ -1,14 +1,5 @@
#!/bin/bash #!/bin/bash
set -e set -e
# Title
echo " _ _ _ "
echo " | | ___ _ __ | (_)_ __ "
echo " _ | |/ _ \| '_ \| | | '_ \ "
echo "| |_| | (_) | |_) | | | | | |"
echo " \___/ \___/| .__/|_|_|_| |_|"
echo " |_|"
echo ""
echo "Linux Installer and Updater"
#----------------------------------------------------- #-----------------------------------------------------
# Variables # Variables
@@ -16,8 +7,20 @@ echo "Linux Installer and Updater"
COLOR_RED=`tput setaf 1` COLOR_RED=`tput setaf 1`
COLOR_GREEN=`tput setaf 2` COLOR_GREEN=`tput setaf 2`
COLOR_RESET=`tput sgr0` COLOR_RESET=`tput sgr0`
SILENT=false
# Check and warn if running as root. print() {
if [[ "$SILENT" == false ]] ; then
echo $1
fi
}
#-----------------------------------------------------
# ARGUMENTS
#-----------------------------------------------------
# --allow-root
## Check and warn if running as root.
if [[ $EUID = 0 ]] ; then if [[ $EUID = 0 ]] ; then
if [[ $* != *--allow-root* ]] ; then if [[ $* != *--allow-root* ]] ; then
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}" 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}"
@@ -25,17 +28,37 @@ if [[ $EUID = 0 ]] ; then
fi fi
fi fi
# --silent
## Mutes messages by console
if [[ $* == *--silent* ]] ; then
SILENT=true
fi
#-----------------------------------------------------
# START
#-----------------------------------------------------
# Title
print " _ _ _ "
print " | | ___ _ __ | (_)_ __ "
print " _ | |/ _ \| '_ \| | | '_ \ "
print "| |_| | (_) | |_) | | | | | |"
print " \___/ \___/| .__/|_|_|_| |_|"
print " |_|"
print ""
print "Linux Installer and Updater"
#----------------------------------------------------- #-----------------------------------------------------
# Download Joplin # Download Joplin
#----------------------------------------------------- #-----------------------------------------------------
# Get the latest version to download # Get the latest version to download
version=$(wget -qO - "https://api.github.com/repos/laurent22/joplin/releases/latest" | grep -Po '"tag_name": "v\K.*?(?=")') RELEASE_VERSION=$(wget -qO - "https://api.github.com/repos/laurent22/joplin/releases/latest" | grep -Po '"tag_name": "v\K.*?(?=")')
# Check if it's in the latest version # Check if it's in the latest version
if [[ ! -e ~/.joplin/VERSION ]] || [[ $(< ~/.joplin/VERSION) != "$version" ]]; then if [[ ! -e ~/.joplin/VERSION ]] || [[ $(< ~/.joplin/VERSION) != "$RELEASE_VERSION" ]]; then
echo 'Downloading Joplin...' print 'Downloading Joplin...'
# Delete previous version (in future versions joplin.desktop shouldn't exist) # Delete previous version (in future versions joplin.desktop shouldn't exist)
rm -f ~/.joplin/*.AppImage ~/.local/share/applications/joplin.desktop ~/.joplin/VERSION rm -f ~/.joplin/*.AppImage ~/.local/share/applications/joplin.desktop ~/.joplin/VERSION
@@ -43,35 +66,35 @@ if [[ ! -e ~/.joplin/VERSION ]] || [[ $(< ~/.joplin/VERSION) != "$version" ]]; t
mkdir -p ~/.joplin/ mkdir -p ~/.joplin/
# Download the latest version # Download the latest version
wget -nv --show-progress -O ~/.joplin/Joplin.AppImage https://github.com/laurent22/joplin/releases/download/v$version/Joplin-$version-x86_64.AppImage wget -nv --show-progress -O ~/.joplin/Joplin.AppImage https://github.com/laurent22/joplin/releases/download/v$RELEASE_VERSION/Joplin-$RELEASE_VERSION-x86_64.AppImage
# Gives execution privileges # Gives execution privileges
chmod +x ~/.joplin/Joplin.AppImage chmod +x ~/.joplin/Joplin.AppImage
echo "${COLOR_GREEN}OK${COLOR_RESET}" print "${COLOR_GREEN}OK${COLOR_RESET}"
#----------------------------------------------------- #-----------------------------------------------------
# Icon # Icon
#----------------------------------------------------- #-----------------------------------------------------
# Download icon # Download icon
echo 'Downloading icon...' print 'Downloading icon...'
mkdir -p ~/.local/share/icons/hicolor/512x512/apps mkdir -p ~/.local/share/icons/hicolor/512x512/apps
wget -nv -O ~/.local/share/icons/hicolor/512x512/apps/joplin.png https://joplinapp.org/images/Icon512.png wget -nv -O ~/.local/share/icons/hicolor/512x512/apps/joplin.png https://joplinapp.org/images/Icon512.png
echo "${COLOR_GREEN}OK${COLOR_RESET}" print "${COLOR_GREEN}OK${COLOR_RESET}"
# Detect desktop environment # Detect desktop environment
if [ "$XDG_CURRENT_DESKTOP" = "" ] if [ "$XDG_CURRENT_DESKTOP" = "" ]
then then
desktop=$(echo "$XDG_DATA_DIRS" | sed 's/.*\(xfce\|kde\|gnome\).*/\1/') DESKTOP=$(echo "$XDG_DATA_DIRS" | sed 's/.*\(xfce\|kde\|gnome\).*/\1/')
else else
desktop=$XDG_CURRENT_DESKTOP DESKTOP=$XDG_CURRENT_DESKTOP
fi fi
desktop=${desktop,,} # convert to lower case DESKTOP=${desktop,,} # convert to lower case
# Create icon for Gnome # Create icon for Gnome
echo 'Create Desktop icon.' echo 'Create Desktop icon.'
if [[ $desktop =~ .*gnome.*|.*kde.*|.*xfce.*|.*mate.*|.*lxqt.*|.*unity.*|.*x-cinnamon.*|.*deepin.* ]] if [[ $DESKTOP =~ .*gnome.*|.*kde.*|.*xfce.*|.*mate.*|.*lxqt.*|.*unity.*|.*x-cinnamon.*|.*deepin.* ]]
then then
: "${TMPDIR:=/tmp}" : "${TMPDIR:=/tmp}"
# This command extracts to squashfs-root by default and can't be changed... # This command extracts to squashfs-root by default and can't be changed...
@@ -85,21 +108,22 @@ if [[ ! -e ~/.joplin/VERSION ]] || [[ $(< ~/.joplin/VERSION) != "$version" ]]; t
# On some systems this directory doesn't exist by default # On some systems this directory doesn't exist by default
mkdir -p ~/.local/share/applications mkdir -p ~/.local/share/applications
echo -e "[Desktop Entry]\nEncoding=UTF-8\nName=Joplin\nComment=Joplin for Desktop\nExec=/home/$USER/.joplin/Joplin.AppImage\nIcon=joplin\nStartupWMClass=Joplin\nType=Application\nCategories=Application;\n$APPIMAGE_VERSION" >> ~/.local/share/applications/appimagekit-joplin.desktop echo -e "[Desktop Entry]\nEncoding=UTF-8\nName=Joplin\nComment=Joplin for Desktop\nExec=/home/$USER/.joplin/Joplin.AppImage\nIcon=joplin\nStartupWMClass=Joplin\nType=Application\nCategories=Application;\n$APPIMAGE_VERSION" >> ~/.local/share/applications/appimagekit-joplin.desktop
echo "${COLOR_GREEN}OK${COLOR_RESET}" print "${COLOR_GREEN}OK${COLOR_RESET}"
else else
echo "${COLOR_RED}NOT DONE${COLOR_RESET}" print "${COLOR_RED}NOT DONE${COLOR_RESET}"
fi fi
#----------------------------------------------------- #-----------------------------------------------------
# Finish # Finish
#----------------------------------------------------- #-----------------------------------------------------
# Informs the user that it has been installed and cleans variables # Informs the user that it has been installed and cleans variables
echo "${COLOR_GREEN}Joplin version${COLOR_RESET}" $version "${COLOR_GREEN}installed.${COLOR_RESET}" print "${COLOR_GREEN}Joplin version${COLOR_RESET}" $RELEASE_VERSION "${COLOR_GREEN}installed.${COLOR_RESET}"
# Add version # Add version
echo $version > ~/.joplin/VERSION echo $RELEASE_VERSION > ~/.joplin/VERSION
else else
echo "${COLOR_GREEN}You already have the latest version${COLOR_RESET}" $version "${COLOR_GREEN}installed.${COLOR_RESET}" print "${COLOR_GREEN}You already have the latest version${COLOR_RESET}" $version "${COLOR_GREEN}installed.${COLOR_RESET}"
fi fi
echo 'Bye!'
unset version # Goodbye
print 'Bye!'