Compare commits
No commits in common. "stable" and "0.5.8" have entirely different histories.
5 changed files with 222 additions and 532 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,3 +1,2 @@
|
|||
test.sh
|
||||
devdoc.md
|
||||
binaries
|
||||
70
README.md
70
README.md
|
|
@ -1,76 +1,56 @@
|
|||
# Helium Bowser installer & updater
|
||||
## Purpose
|
||||
This script was initially designed to just update my Helium browser but over time and interest it got more functional and universal. It includes functions to install, update, remove, add launcher, etc... It's supposed to run in user space and is (Linux) distro independent I suppose.
|
||||
This script was initially designed to just update my Helium browser but over time and interest it got more functional and universal. It includes functions to install, update, remove, add launcher, etc... and is distro independent.
|
||||
|
||||
With "little" tinkering it should be possible to apply this script to install, update & configure many kinds of releases from source, like Debian packages, AppImages, binaries, etc...
|
||||
## Usage
|
||||
### Help
|
||||
Help
|
||||
```sh
|
||||
./helium_helper.sh -h
|
||||
```
|
||||
---
|
||||
### First Install
|
||||
To initally install Helium browser via this script, download helium_helper.sh and make it executable:
|
||||
```sh
|
||||
wget https://lab.c95.org/fr4nz/helium-helper/raw/branch/main/helium_helper.sh && chmod +x helium_helper.sh
|
||||
```
|
||||
Run script with install parameter _-i_
|
||||
- Default install directory = `$HOME/.apps/Helium`
|
||||
```sh
|
||||
./helium_helper.sh -i
|
||||
```
|
||||
|
||||
**OPTIONAL** : Add alias to `.shellrc` | _working in zsh, bash & fish_
|
||||
- Default alias = `update-helium`
|
||||
Add alias to `.shellrc` | _optional_
|
||||
```sh
|
||||
./helium_helper.sh -a
|
||||
./helium_helper.sh -a ### ONLY TESTED WITH zsh & bash
|
||||
```
|
||||
|
||||
---
|
||||
### Updating
|
||||
**From launcher** (if added during install or by running `./helium_helper.sh -l`)
|
||||
**From launcher** (if added)
|
||||
|
||||
Checking for the latest version and updating can simply be done for the browser as well as the script by right clicking the app icon and choosing either update option, which will be run by `helium_launcher_update.sh`. This will backup all files that are being updated and write a log.
|
||||
|
||||
**Terminal**
|
||||
|
||||
Updating can also be done by running:
|
||||
- Update Helium Browser
|
||||
```sh
|
||||
./helium_helper.sh -u
|
||||
./helium_helper.sh -u ### UPDATE APP
|
||||
```
|
||||
- Update Helium Helper
|
||||
```sh
|
||||
./helium_helper.sh -S
|
||||
./helium_helper.sh -S ### UPDATE SCRIPT
|
||||
```
|
||||
---
|
||||
### Backing up
|
||||
Backing up, by default, pulls all important files, folders & configuration and compresses an archive, which is stored in `$HOME/.apps/Helium/assets`
|
||||
- Default backup
|
||||
```sh
|
||||
./helium_helper.sh -b
|
||||
```
|
||||
- Backup to custom path
|
||||
```sh
|
||||
./helium_helper.sh -b </PATH/TO/DESTINATION>
|
||||
```
|
||||
**NOTE:** The backup path specified won't be overridden within the script yet. Working on it...
|
||||
|
||||
**Since this script is interactive, it doesn't keep logs.**
|
||||
Since this script is interactive, it doesn't keep logs.
|
||||
## Overview
|
||||
### Helium_Helper.sh
|
||||
- Interactive installer, updater & configuration script
|
||||
- Installs to `$HOME/.apps/Helium` | changeable in line 32 `INSTALL_PATH`
|
||||
- Installs to `/home/<USER>/.apps/Helium` | changeable in line 28 `INSTALL_PATH`
|
||||
- Assumes:
|
||||
- Presence of `$HOME/.apps/Helium` when updating | changeable in line 32 `INSTALL_PATH`
|
||||
- Presence of `/home/<USER>/.apps/Helium` when updating | changeable in line 28 `INSTALL_PATH`
|
||||
- Executable named `Helium.AppImage`
|
||||
- Keeps backup archives from
|
||||
- `Helium.AppImage`
|
||||
- `helium_helper.sh`
|
||||
- `helium_launcher_update.sh`
|
||||
- `Helium.desktop`
|
||||
- `net.imput.helium`
|
||||
- Adds desktop launcher to `$HOME/.local/share/applications`
|
||||
- Keeps backups of
|
||||
- `Helium.AppImage` --> `Helium.AppImage.old`
|
||||
- `helium_helper.sh` --> `helium_helper.sh.old`
|
||||
- `helium_launcher_update.sh` --> `helium_launcher_update.sh.old`
|
||||
- `Helium.desktop` --> `Helium.desktop.old`
|
||||
which will be overwritten at every update
|
||||
- Adds desktop launcher to `/home/<USER>/.local/share/applications`
|
||||
- Adds options to launcher which are run by `helium_launcher_updater.sh`
|
||||
- Update Helium
|
||||
- Update Script
|
||||
|
|
@ -80,14 +60,14 @@ Backing up, by default, pulls all important files, folders & configuration and c
|
|||
### Helium_Launcher_Update.sh
|
||||
- Update Helium from launcher
|
||||
- Assumes:
|
||||
- Presence of `$HOME/.apps/Helium` when updating | changeable in line 22 `INSTALL_PATH`
|
||||
- Presence of `/home/<USER>/.apps/Helium` when updating | changeable in line 19 `INSTALL_PATH`
|
||||
- Executable named `Helium.AppImage`
|
||||
- Loggs to `$HOME/.apps/Helium/assets/logs`
|
||||
- Keeps backup archives from
|
||||
- `Helium.AppImage`
|
||||
- `helium_helper.sh`
|
||||
- `helium_launcher_update.sh`
|
||||
- `Helium.desktop`
|
||||
- `net.imput.helium`
|
||||
- Loggs to `/home/<USER>/.apps/Helium/assets/logs`
|
||||
- Keeps backups of
|
||||
- `Helium.AppImage` --> `Helium.AppImage.old`
|
||||
- `helium_helper.sh` --> `helium_helper.sh.old`
|
||||
- `helium_launcher_update.sh` --> `helium_launcher_update.sh.old`
|
||||
- `Helium.desktop` --> `Helium.desktop.old`
|
||||
which will be overwritten at every update
|
||||
- Run `helium_launcher_update.sh -h` for help
|
||||
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
on:
|
||||
pull_requests:
|
||||
pull_request_target:
|
||||
485
helium_helper.sh
485
helium_helper.sh
|
|
@ -9,23 +9,19 @@ YEL="\e[0;33m"
|
|||
RED="\e[0;31m"
|
||||
GRN="\e[0;32m"
|
||||
LCY="\e[1;36m"
|
||||
WHT="\e[1;37m"
|
||||
CRS="\e[0m"
|
||||
|
||||
## GLOBAL VARIABLES
|
||||
APP_NAME="Helium"
|
||||
APP_NAME_LONG="Helium Web Browser"
|
||||
ARCH="x86_64"
|
||||
FILE_EXTENSION="AppImage"
|
||||
APP_SOURCE="GitHub"
|
||||
ARCH_OVERRIDE=""
|
||||
BACKUP_METHOD="full"
|
||||
BACKUP_COMPRESSION_OVERRIDE=""
|
||||
SCRIPT_NAME="$APP_NAME Helper Script"
|
||||
SCRIPT_FILE_NAME="helium_helper.sh"
|
||||
AUTO_SCRIPT_FILE_NAME="helium_launcher_update.sh"
|
||||
SCRIPT_VERSION="0.5.9.1"
|
||||
SCRIPT_VERSION="0.5.8"
|
||||
ALIAS="update-helium"
|
||||
DATE=$(date +"%d%m%y")
|
||||
|
||||
## LOCATIONS
|
||||
TMP=/tmp/$APP_NAME
|
||||
|
|
@ -48,13 +44,15 @@ APP_SOURCE_URL=https://api.github.com/repos/imputnet/helium-linux/releases/lates
|
|||
|
||||
### DEPENDENCIES
|
||||
cmd_query() {
|
||||
#local PACKAGE=$1
|
||||
|
||||
if ! command -v $PACKAGE > /dev/null 2>&1 ; then
|
||||
echo " - $PACKAGE" >> $TMP/missingDeps
|
||||
fi
|
||||
}
|
||||
|
||||
dependency_check () {
|
||||
DEPENDENCIES=("curl" "wget" "tar")
|
||||
DEPENDENCIES=("curl" "wget")
|
||||
mkdir -p $TMP
|
||||
|
||||
for PACKAGE in "${DEPENDENCIES[@]}" ; do
|
||||
|
|
@ -64,13 +62,15 @@ dependency_check () {
|
|||
|
||||
if [ -f "$TMP/missingDeps" ] ; then
|
||||
MISSING=$(cat $TMP/missingDeps)
|
||||
echo -e " ${RED}Following dependencies are missing :\n\n${CRS}$MISSING\n\n ${CYN}Please install and re-run script !${CRS}\n"
|
||||
echo -e "\n ${RED}Following dependencies are missing :\n\n${CRS}$MISSING\n\n ${CYN}Please install and re-run script !${CRS}"
|
||||
exit_clean
|
||||
fi
|
||||
}
|
||||
|
||||
### SHELL CHECK
|
||||
shell_query() {
|
||||
#local SHELL_OPTION=$1
|
||||
|
||||
if [ "$(echo $SHELL | grep "$SHELL_OPTION")" ] ; then
|
||||
ACTIVE_SHELL=$SHELL_OPTION
|
||||
fi
|
||||
|
|
@ -78,64 +78,43 @@ shell_query() {
|
|||
}
|
||||
|
||||
shell_check() {
|
||||
SHELLS=("bash" "fish" "zsh")
|
||||
SHELLS=("bash" "fish" "ksh" "zsh")
|
||||
|
||||
for SHELL_OPTION in "${SHELLS[@]}" ; do
|
||||
shell_query "$SHELL_OPTION"
|
||||
done
|
||||
}
|
||||
|
||||
### ARCH CHECK
|
||||
arch_check() {
|
||||
if [ "$ARCH_OVERRIDE" ] ; then
|
||||
ARCH=$ARCH_OVERRIDE
|
||||
|
||||
else
|
||||
ARCH=$(uname -m)
|
||||
if [ "$ARCH" == "aarch64" ] ; then
|
||||
ARCH="arm64"
|
||||
|
||||
elif [ "$ARCH" == "amd64" ] ; then
|
||||
ARCH="x86_64"
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! [[ "$ARCH" == "arm64" || "$ARCH" == "x86_64" ]] ; then
|
||||
echo -e "\n ${CYN}$ARCH ${RED}unsupported! Only ${CYN}x86_68 ${RED}or ${CYN}arm64 ${RED}architecture are supported!${CRS}\n"
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
### CHECK LOCAL INSTALL
|
||||
local_check() {
|
||||
if ! [ -d "$INSTALL_PATH" ] ; then
|
||||
echo -e "\n ${YEL}$APP_NAME_LONG directory not found!${CRS}\n"
|
||||
install_application
|
||||
echo -e "\n ${RED}$APP_NAME_LONG directory not found!${CRS}"
|
||||
install_helium
|
||||
exit
|
||||
|
||||
elif ! [ -f "$INSTALL_PATH/$APP_NAME.$FILE_EXTENSION" ] ; then
|
||||
echo -e "\n ${YEL}$APP_NAME_LONG directory found but no executable named ${CYN}$APP_NAME.$FILE_EXTENSION${YEL}!${CRS}\n"
|
||||
install_application
|
||||
echo -e "\n ${RED}$APP_NAME_LONG directory found but no executable named ${CYN}$APP_NAME.$FILE_EXTENSION${RED}!${CRS}"
|
||||
install_helium
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
### INSTALL
|
||||
install_application() {
|
||||
install_helium() {
|
||||
if [ -f "$INSTALL_PATH/$APP_NAME.$FILE_EXTENSION" ] ; then
|
||||
echo -e " ${YEL}$APP_NAME_LONG AppImage found! Trying to update...${CRS}"
|
||||
update_application
|
||||
echo -e "\n ${YEL}$APP_NAME_LONG AppImage found! Trying to update...${CRS}"
|
||||
update_helium
|
||||
exit
|
||||
fi
|
||||
|
||||
while true ; do
|
||||
read -p " Download and install $APP_NAME_LONG from $APP_SOURCE? (Y/n) : " CONFIRM_INSTALL
|
||||
echo
|
||||
|
||||
if [[ "$CONFIRM_INSTALL" == "" || "$CONFIRM_INSTALL" == "y" || "$CONFIRM_INSTALL" == "Y" ]] ; then
|
||||
DOWNLOAD_URL=$(curl -s $APP_SOURCE_URL | grep "browser_download_url" | grep "$ARCH.$FILE_EXTENSION" | grep -v "zsync" | tr -d \" | awk '{print $2}')
|
||||
APP_SOURCE_FILENAME=$(curl -s $APP_SOURCE_URL | grep "browser_download_url" | grep "$ARCH.$FILE_EXTENSION" | grep -v "zsync" | tr -d \" | awk '{print $2}' | awk -F'/' '{print $9}')
|
||||
echo -e "\n - Downloading ${CYN}$APP_SOURCE_FILENAME${CRS}..."
|
||||
wget -P $TMP $DOWNLOAD_URL -q
|
||||
wget -P $TMP $DOWNLOAD_URL -q --show-progress
|
||||
chmod +x $TMP/$APP_SOURCE_FILENAME
|
||||
mkdir -p $INSTALL_PATH
|
||||
mv $TMP/$APP_SOURCE_FILENAME $INSTALL_PATH/$APP_NAME.$FILE_EXTENSION
|
||||
|
|
@ -144,12 +123,13 @@ install_application() {
|
|||
break
|
||||
|
||||
elif [[ "$CONFIRM_INSTALL" == "n" || "$CONFIRM_INSTALL" == "N" ]] ; then
|
||||
echo -e "\n ${RED}Cancelled!${CRS}\n"
|
||||
echo -e " ${RED}Cancelled!${CRS}"
|
||||
break
|
||||
|
||||
else
|
||||
echo -e "\n ${YEL}Invalid response!${CRS}\n"
|
||||
echo -e " ${YEL}Invalid response!${CRS}\n"
|
||||
fi
|
||||
|
||||
done
|
||||
}
|
||||
|
||||
|
|
@ -162,6 +142,7 @@ add_launcher() {
|
|||
while true ; do
|
||||
echo
|
||||
read -p " Add $APP_NAME_LONG launcher to $LAUNCHER_PATH? (Y/n) : " CONFIRM_LAUNCHER
|
||||
echo
|
||||
|
||||
if [[ "$CONFIRM_LAUNCHER" == "" || "$CONFIRM_LAUNCHER" == "y" || "$CONFIRM_LAUNCHER" == "Y" ]] ; then
|
||||
LAUNCHER_URL=$REMOTE_REPO_URL/assets/launcher/helium.desktop.template
|
||||
|
|
@ -170,15 +151,13 @@ add_launcher() {
|
|||
LOCAL_VERSION=$($INSTALL_PATH/$APP_NAME.$FILE_EXTENSION --version | awk '{print $2}')
|
||||
mkdir -p $LAUNCHER_PATH $SCRIPT_PATH $BACKUP_PATH $ASSET_PATH/icon
|
||||
if ! [ -f "$SCRIPT_PATH/$AUTO_SCRIPT_FILE_NAME" ] ; then
|
||||
echo -e "\n - Downloading ${CYN}$AUTO_SCRIPT_FILE_NAME${CRS}..."
|
||||
wget -P $TMP $AUTO_SCRIPT_URL -q
|
||||
wget -P $TMP $AUTO_SCRIPT_URL -q --show-progress
|
||||
chmod +x $TMP/$AUTO_SCRIPT_FILE_NAME
|
||||
mv $TMP/$AUTO_SCRIPT_FILE_NAME $SCRIPT_PATH
|
||||
fi
|
||||
|
||||
echo -e "\n - Downloading ${CYN}launcher files${CRS}..."
|
||||
wget -P $TMP $LAUNCHER_URL -q
|
||||
wget -P $TMP $ICON_URL -q
|
||||
wget -P $TMP $LAUNCHER_URL -q --show-progress
|
||||
wget -P $TMP $ICON_URL -q --show-progress
|
||||
sed -i "s|%APP_LOCATION%|$INSTALL_PATH/$APP_NAME.$FILE_EXTENSION|" $TMP/helium.desktop.template
|
||||
sed -i "s|%ICON_LOCATION%|$ASSET_PATH/icon/helium.png|" $TMP/helium.desktop.template
|
||||
sed -i "s|%APP_VERSION%|$LOCAL_VERSION|" $TMP/helium.desktop.template
|
||||
|
|
@ -197,11 +176,12 @@ add_launcher() {
|
|||
else
|
||||
echo -e " ${YEL}Invalid response!${CRS}\n"
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
else
|
||||
echo -e "\n ${RED}$APP_NAME_LONG AppImage not found! Can't add launcher...${CRS}"
|
||||
install_application
|
||||
install_helium
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
|
@ -217,49 +197,41 @@ add_alias() {
|
|||
|
||||
if [ "$ACTIVE_SHELL" == "zsh" ] ; then
|
||||
if [ "$(cat $HOME/.zshrc | grep "$ALIAS")" ] ; then
|
||||
echo -e "\n ${LCY}$ALIAS${CRS} already present in ${CYN}$HOME/.zshrc${CRS}\n"
|
||||
|
||||
else
|
||||
echo "### $APP_NAME_LONG Alias zsh ###" >> $HOME/.zshrc
|
||||
echo "alias $ALIAS=\"$SCRIPT_PATH/$SCRIPT_FILE_NAME\"" >> $HOME/.zshrc
|
||||
echo >> $HOME/.zshrc
|
||||
echo -e "\n ${LCY}$ALIAS${CRS} added to ${CYN}$HOME/.zshrc${CRS}\n"
|
||||
echo -e "\n ${LCY}$ALIAS ${GRN}already present in${CRS} $HOME/.zshrc\n"
|
||||
exit
|
||||
fi
|
||||
echo "alias $ALIAS=\"$SCRIPT_PATH/$SCRIPT_FILE_NAME\"" >> $HOME/.zshrc
|
||||
echo -e "\n ${LCY}$ALIAS ${GRN}added to${CRS} $HOME/.zshrc\n"
|
||||
|
||||
elif [ "$ACTIVE_SHELL" == "bash" ] ; then
|
||||
if [ "$(cat $HOME/.bashrc | grep "$ALIAS")" ] ; then
|
||||
echo -e "\n ${LCY}$ALIAS${CRS} already present in ${CYN}$HOME/.bashrc${CRS}\n"
|
||||
|
||||
else
|
||||
echo "### $APP_NAME_LONG Alias bash ###" >> $HOME/.bashrc
|
||||
echo "alias $ALIAS=\"$SCRIPT_PATH/$SCRIPT_FILE_NAME\"" >> $HOME/.bashrc
|
||||
echo >> $HOME/.bashrc
|
||||
echo -e "\n ${LCY}$ALIAS${CRS} added to ${CYN}$HOME/.bashrc${CRS}\n"
|
||||
echo -e "\n ${LCY}$ALIAS ${GRN}already present in${CRS} $HOME/.bashrc\n"
|
||||
exit
|
||||
fi
|
||||
echo "alias $ALIAS=\"$SCRIPT_PATH/$SCRIPT_FILE_NAME\"" >> $HOME/.zshrc
|
||||
echo -e "\n ${LCY}$ALIAS ${GRN}added to${CRS} $HOME/.bashrc\n"
|
||||
|
||||
elif [ "$ACTIVE_SHELL" == "fish" ] ; then
|
||||
if [ "$(cat $HOME/.config/fish/config.fish | grep "source $HOME/.config/fish/$ALIAS.fish")" ] ; then
|
||||
echo -e "\n ${LCY}$ALIAS${CRS} already present in ${CYN}$HOME/.config/fish/config.fish${CRS}\n"
|
||||
|
||||
else
|
||||
echo "### $APP_NAME_LONG Alias FISH ###" > $HOME/.config/fish/$ALIAS.fish
|
||||
echo -e "\n ${LCY}$ALIAS ${GRN}already present in${CRS} $HOME/.config/fish/config.fish\n"
|
||||
exit
|
||||
fi
|
||||
echo "### Helium Helper Alias FISH ###" > $HOME/.config/fish/$ALIAS.fish
|
||||
echo >> $HOME/.config/fish/$ALIAS.fish
|
||||
echo "function $ALIAS" >> $HOME/.config/fish/$ALIAS.fish
|
||||
echo " $SCRIPT_PATH/$SCRIPT_FILE_NAME \$argv" >> $HOME/.config/fish/$ALIAS.fish
|
||||
echo "end" >> $HOME/.config/fish/$ALIAS.fish
|
||||
echo >> $HOME/.config/fish/$ALIAS.fish
|
||||
echo "source $HOME/.config/fish/$ALIAS.fish" >> $HOME/.config/fish/config.fish
|
||||
echo -e "\n ${LCY}$ALIAS ${CRS}added to ${CYN}$HOME/.config/fish/config.fish${CRS}\n"
|
||||
fi
|
||||
echo -e "\n ${LCY}$ALIAS ${GRN}added to${CRS} $HOME/.config/fish/config.fish\n"
|
||||
|
||||
else
|
||||
echo -e "\n ${LCY}$ACTIVE_SHELL${RED}shell is not yet supported!${CRS}\n"
|
||||
echo -e " ${CRS}Working implementation are available for bash, zsh & fish!${CRS}\n"
|
||||
echo -e "\n ${LCY}$ACTIVE_SHELL ${RED}not yet supported!${CRS}\n"
|
||||
echo -e " ${LCY}Working implementation are available for bash, zsh & fish!${CRS}\n"
|
||||
fi
|
||||
}
|
||||
|
||||
### UPDATE
|
||||
update_application() {
|
||||
update_helium() {
|
||||
LOCAL_VERSION=$($INSTALL_PATH/$APP_NAME.$FILE_EXTENSION --version | awk '{print $2}')
|
||||
APP_SOURCE_VERSION=$(curl -s $APP_SOURCE_URL | grep "tag_name" | tr -d \", | awk '{print $2}')
|
||||
|
||||
|
|
@ -282,215 +254,80 @@ update_application() {
|
|||
|
||||
elif [ "$APP_SOURCE_VERSION_NUM" -gt "$LOCAL_VERSION_NUM" ] ; then
|
||||
echo -e "\n ${LCY}$APP_NAME_LONG is updatable!${CRS}\n"
|
||||
app_version_info
|
||||
echo -e " ${CYN}Local Version :\t${CRS}${LOCAL_VERSION}"
|
||||
echo -e " ${CYN}$APP_SOURCE Version :\t${CRS}${APP_SOURCE_VERSION}\n"
|
||||
|
||||
while true ; do
|
||||
read -p " Download and update $APP_NAME_LONG from $APP_SOURCE? (Y/n) : " CONFIRM
|
||||
echo
|
||||
|
||||
if [[ "$CONFIRM" == "" || "$CONFIRM" == "y" || "$CONFIRM" == "Y" ]] ; then
|
||||
DOWNLOAD_URL=$(curl -s $APP_SOURCE_URL | grep "browser_download_url" | grep "$ARCH.$FILE_EXTENSION" | grep -v "zsync" | tr -d \" | awk '{print $2}')
|
||||
APP_SOURCE_FILENAME=$(curl -s $APP_SOURCE_URL | grep "browser_download_url" | grep "$ARCH.$FILE_EXTENSION" | grep -v "zsync" | tr -d \" | awk '{print $2}' | awk -F'/' '{print $9}')
|
||||
mkdir -p $TMP
|
||||
echo -e "\n - Downloading ${CYN}$APP_SOURCE_FILENAME${CRS}..."
|
||||
wget -P $TMP $DOWNLOAD_URL -q
|
||||
${BACKUP_METHOD}_backup
|
||||
mkdir -p $TMP $BACKUP_PATH
|
||||
wget -P $TMP $DOWNLOAD_URL -q --show-progress
|
||||
chmod +x $TMP/$APP_SOURCE_FILENAME
|
||||
if [ -f "$BACKUP_PATH/$APP_NAME.old" ] ; then
|
||||
rm $BACKUP_PATH/$APP_NAME.old
|
||||
fi
|
||||
if [ -d "$APP_CONFIG_PATH" ] ; then
|
||||
if [ -f "$BACKUP_PATH/$APP_NAME.config.tar" ] ; then
|
||||
rm $BACKUP_PATH/$APP_NAME.config.tar
|
||||
fi
|
||||
tar -cf $BACKUP_PATH/$APP_NAME.config.tar $APP_CONFIG_PATH > /dev/null 2>&1
|
||||
fi
|
||||
mv $INSTALL_PATH/$APP_NAME.$FILE_EXTENSION $BACKUP_PATH/$APP_NAME.old
|
||||
mv $TMP/$APP_SOURCE_FILENAME $INSTALL_PATH/$APP_NAME.$FILE_EXTENSION
|
||||
cp $LAUNCHER_PATH/$APP_NAME.desktop $BACKUP_PATH/$APP_NAME.desktop.old
|
||||
chmod -x $BACKUP_PATH/*.sh.old $BACKUP_PATH/$APP_NAME.old
|
||||
sed -i "s|X-AppImage-Version=.*|X-AppImage-Version=$($INSTALL_PATH/$APP_NAME.$FILE_EXTENSION --version | awk '{print $2}')|" $LAUNCHER_PATH/$APP_NAME.desktop
|
||||
echo -e " ${GRN}$APP_NAME_LONG is up-to-date!${CRS}\n"
|
||||
echo -e "\n ${GRN}$APP_NAME_LONG is up-to-date !${CRS}\n"
|
||||
break
|
||||
|
||||
elif [[ "$CONFIRM" == "n" || "$CONFIRM" == "N" ]] ; then
|
||||
echo -e "\n ${RED}Cancelled!${CRS}\n"
|
||||
echo -e " ${RED}Cancelled!${CRS}\n"
|
||||
exit
|
||||
|
||||
else
|
||||
echo -e "\n ${YEL}Invalid response!${CRS}\n"
|
||||
echo -e " ${YEL}Invalid response!${CRS}\n"
|
||||
fi
|
||||
done
|
||||
|
||||
else
|
||||
echo -e "\n ${RED}Version tags malformed or you are using a Beta version!${CRS}\n"
|
||||
app_version_info
|
||||
echo -e " ${CYN}Local Version :\t${CRS}${LOCAL_VERSION}"
|
||||
echo -e " ${CYN}$APP_SOURCE Version :\t${CRS}${APP_SOURCE_VERSION}\n"
|
||||
echo -e " ${RED}Update failed... Exiting...${CRS}\n"
|
||||
exit
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
### BACKUP
|
||||
call_backup() {
|
||||
if [ -f $BACKUP_PATH\/$APP_NAME\.$BACKUP_METHOD\.backup_* ] ; then
|
||||
echo -e "\n ${CYN}A $BACKUP_METHOD backup already exists!${CRS}\n"
|
||||
|
||||
while true ; do
|
||||
read -p " Overwrite backup? (y/N) : " OVERWRITE_BACKUP
|
||||
|
||||
if [[ "$OVERWRITE_BACKUP" == "" || "$OVERWRITE_BACKUP" == "n" || "$OVERWRITE_BACKUP" == "N" ]] ; then
|
||||
echo -e "\n ${YEL}Skipping backup process...${CRS}\n"
|
||||
break
|
||||
|
||||
elif [[ "$OVERWRITE_BACKUP" == "y" || "$OVERWRITE_BACKUP" == "Y" ]] ; then
|
||||
echo -e "\n ${YEL}Overwriting backup...${CRS}"
|
||||
rm $BACKUP_PATH/$APP_NAME.$BACKUP_METHOD.backup_*
|
||||
${BACKUP_METHOD}_backup
|
||||
break
|
||||
### AUTOMATIC UPDATE --> TO DO?
|
||||
auto_update() {
|
||||
if ! [ -f "$INSTALL_PATH/$APP_NAME.$FILE_EXTENSION" ] ; then
|
||||
echo -e "\n ${RED}$APP_NAME AppImage not found! Can't add auto update script...${CRS}"
|
||||
exit
|
||||
|
||||
else
|
||||
echo -e "\n ${YEL}Invalid response!${CRS}\n"
|
||||
fi
|
||||
done
|
||||
|
||||
else
|
||||
${BACKUP_METHOD}_backup
|
||||
fi
|
||||
}
|
||||
|
||||
backup_file_collector() {
|
||||
for BACKUP_ITEM in ${BACKUPABLE[@]} ; do
|
||||
|
||||
if [ -d "$BACKUP_ITEM" ] ; then
|
||||
mkdir -p $TMP/backup
|
||||
cp -r $BACKUP_ITEM $TMP/backup
|
||||
|
||||
elif [ -f "$BACKUP_ITEM" ] ; then
|
||||
mkdir -p $TMP/backup
|
||||
cp $BACKUP_ITEM $TMP/backup
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
script_backup() {
|
||||
if [ -d "$SCRIPT_PATH" ] ; then
|
||||
BACKUPABLE=("$SCRIPT_PATH/$SCRIPT_FILE_NAME" "$SCRIPT_PATH/$AUTO_SCRIPT_FILE_NAME")
|
||||
echo -e "\n - ${CRS}Collecting files for ${CYN}$BACKUP_METHOD${CRS} backup...${CRS}"
|
||||
backup_file_collector
|
||||
pack_backup
|
||||
|
||||
else
|
||||
echo -e " ${YEL}Nothing to back up...${CRS}"
|
||||
fi
|
||||
}
|
||||
|
||||
app_backup() {
|
||||
if [ -f "$INSTALL_PATH/$APP_NAME.$FILE_EXTENSION" ] ; then
|
||||
BACKUPABLE=("$INSTALL_PATH/$APP_NAME.$FILE_EXTENSION")
|
||||
echo -e "\n - ${CRS}Collecting files for ${CYN}$BACKUP_METHOD${CRS} backup...${CRS}"
|
||||
backup_file_collector
|
||||
pack_backup
|
||||
|
||||
else
|
||||
echo -e " ${YEL}Nothing to back up...${CRS}"
|
||||
fi
|
||||
}
|
||||
|
||||
config_backup() {
|
||||
if [[ -d "$LAUNCHER_PATH" || -d $APP_CONFIG_PATH ]] ; then
|
||||
BACKUPABLE=("$LAUNCHER_PATH/$APP_NAME.desktop" "$APP_CONFIG_PATH")
|
||||
echo -e "\n - ${CRS}Collecting files for ${CYN}$BACKUP_METHOD${CRS} backup...${CRS}"
|
||||
backup_file_collector
|
||||
pack_backup
|
||||
|
||||
else
|
||||
echo -e " ${YEL}Nothing to back up...${CRS}"
|
||||
fi
|
||||
}
|
||||
|
||||
full_backup() {
|
||||
if [[ -d "$INSTALL_PATH" || -d "$SCRIPT_PATH" || -d $APP_CONFIG_PATH ]] ; then
|
||||
BACKUPABLE=("$INSTALL_PATH/$APP_NAME.$FILE_EXTENSION" "$SCRIPT_PATH/$SCRIPT_FILE_NAME" "$SCRIPT_PATH/$AUTO_SCRIPT_FILE_NAME" "$LAUNCHER_PATH/$APP_NAME.desktop" "$APP_CONFIG_PATH")
|
||||
echo -e "\n - ${CRS}Collecting files for ${CYN}$BACKUP_METHOD${CRS} backup...${CRS}"
|
||||
backup_file_collector
|
||||
pack_backup
|
||||
|
||||
else
|
||||
echo -e " ${YEL}Nothing to back up...${CRS}"
|
||||
fi
|
||||
}
|
||||
|
||||
pack_backup() {
|
||||
if [ -d "$TMP/backup" ] ; then
|
||||
CWD=$(pwd)
|
||||
cd $TMP/backup
|
||||
|
||||
if [[ -f "*.sh" ]] ; then
|
||||
chmod -x *.sh
|
||||
|
||||
elif [[ -f "*.$FILE_EXTENSION" ]] ; then
|
||||
chmod -x *.$FILE_EXTENSION
|
||||
fi
|
||||
|
||||
if [ "$BACKUP_COMPRESSION_OVERRIDE" ] ; then
|
||||
BACKUP_COMPRESSION=$BACKUP_COMPRESSION_OVERRIDE
|
||||
|
||||
else
|
||||
COMPRESSION_METHOD=("pbzip2" "gzip" "bzip2" "zip")
|
||||
|
||||
until [ "$BACKUP_COMPRESSION" ] ; do
|
||||
for COMPRESSION_TYPE in ${COMPRESSION_METHOD[@]} ; do
|
||||
|
||||
if [ "$(command -v $COMPRESSION_TYPE) > /dev/null 2>&1" ] ; then
|
||||
BACKUP_COMPRESSION=$COMPRESSION_TYPE
|
||||
break
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
echo -e "\n - ${CRS}Packing backup archive with ${CYN}$BACKUP_COMPRESSION${CRS}...${CRS}\n"
|
||||
|
||||
if [ "$BACKUP_COMPRESSION" == "pbzip2" ] ; then
|
||||
tar -cf $APP_NAME.$BACKUP_METHOD.backup_$DATE.tar * > /dev/null 2>&1
|
||||
pbzip2 $APP_NAME.$BACKUP_METHOD.backup_$DATE.tar
|
||||
mkdir -p $BACKUP_PATH
|
||||
mv $APP_NAME.$BACKUP_METHOD.backup_$DATE.tar.bz2 $BACKUP_PATH
|
||||
cd $TMP && rm -rf backup
|
||||
|
||||
elif [ "$BACKUP_COMPRESSION" == "gzip" ] ; then
|
||||
tar -cf $APP_NAME.$BACKUP_METHOD.backup_$DATE.tar * > /dev/null 2>&1
|
||||
gzip $APP_NAME.$BACKUP_METHOD.backup_$DATE.tar
|
||||
mkdir -p $BACKUP_PATH
|
||||
mv $APP_NAME.$BACKUP_METHOD.backup_$DATE.tar.gz $BACKUP_PATH
|
||||
cd $TMP && rm -rf backup
|
||||
|
||||
elif [ "$BACKUP_COMPRESSION" == "bzip2" ] ; then
|
||||
tar -cf $APP_NAME.$BACKUP_METHOD.backup_$DATE.tar * > /dev/null 2>&1
|
||||
bzip2 $APP_NAME.$BACKUP_METHOD.backup_$DATE.tar
|
||||
mkdir -p $BACKUP_PATH
|
||||
mv $APP_NAME.$BACKUP_METHOD.backup_$DATE.tar.bz2 $BACKUP_PATH
|
||||
cd $TMP && rm -rf backup
|
||||
|
||||
elif [ "$BACKUP_COMPRESSION" == "zip" ] ; then
|
||||
tar -cf $APP_NAME.$BACKUP_METHOD.backup_$DATE.tar * > /dev/null 2>&1
|
||||
zip -r $APP_NAME.$BACKUP_METHOD.backup_$DATE.tar.zip $APP_NAME.$BACKUP_METHOD.backup_$DATE.tar > /dev/null 2>&1
|
||||
mkdir -p $BACKUP_PATH
|
||||
mv $APP_NAME.$BACKUP_METHOD.backup_$DATE.tar.zip $BACKUP_PATH
|
||||
cd $TMP && rm -rf backup
|
||||
|
||||
else
|
||||
echo -e " ${YEL}No supported compression method detected! Copying backup uncompressed...${CRS}\n"
|
||||
mkdir -p $BACKUP_PATH
|
||||
mv $TMP/backup $BACKUP_PATH/$APP_NAME.$BACKUP_METHOD.backup_$DATE
|
||||
cd $TMP && rm -rf backup
|
||||
fi
|
||||
|
||||
echo -e " - ${CRS}Backup stored in ${CYN}$BACKUP_PATH${CRS}...${CRS}\n"
|
||||
cd $CWD
|
||||
echo -e "\n ${RED}Not implemented yet...${CRS}"
|
||||
fi
|
||||
}
|
||||
|
||||
### REMOVE
|
||||
remove_application() {
|
||||
remove_helium() {
|
||||
if [ -d "$INSTALL_PATH" ] ; then
|
||||
|
||||
while true ; do
|
||||
read -p " Remove $APP_NAME_LONG incl. backups, configuration and launcher? (Y/n) : " CONFIRM_REMOVE
|
||||
read -p " Remove $APP_NAME_LONG incl. backups and launcher? (Y/n) : " CONFIRM_REMOVE
|
||||
|
||||
if [[ "$CONFIRM_REMOVE" == "" || "$CONFIRM_REMOVE" == "y" || "$CONFIRM_REMOVE" == "Y" ]] ; then
|
||||
REMOVABLE=("$INSTALL_PATH" "$LAUNCHER_PATH/$APP_NAME.desktop" "$APP_CONFIG_PATH" "$SCRIPT_PATH/$SCRIPT_FILE_NAME" "$SCRIPT_PATH/$AUTO_SCRIPT_FILE_NAME")
|
||||
echo -e "\n - ${CRS}Removing ${CYN}$APP_NAME_LONG${CRS} files, directories and configuration...${CRS}"
|
||||
REMOVABLE=("$INSTALL_PATH" "$LAUNCHER_PATH/$APP_NAME.desktop" "$SCRIPT_PATH/$SCRIPT_FILE_NAME" "$SCRIPT_PATH/$AUTO_SCRIPT_FILE_NAME")
|
||||
echo
|
||||
|
||||
for RM_PATH in "${REMOVABLE[@]}" ; do
|
||||
if [[ -f "$RM_PATH" || -d "$RM_PATH" ]] ; then
|
||||
echo -e " ${YEL}Removing ${CYN}$RM_PATH ${YEL}...${CRS}"
|
||||
rm -rf "$RM_PATH"
|
||||
fi
|
||||
done
|
||||
|
|
@ -499,28 +336,26 @@ remove_application() {
|
|||
|
||||
if [ "$ACTIVE_SHELL" == "zsh" ] ; then
|
||||
if [ "$(cat $HOME/.zshrc | grep "$ALIAS")" ] ; then
|
||||
sed -i "/$APP_NAME_LONG/d" $HOME/.zshrc
|
||||
sed -i "/$ALIAS/d" $HOME/.zshrc
|
||||
echo -e "\n - Alias removed from ${CYN}$ACTIVE_SHELL${CRS}"
|
||||
echo -e "\n ${CYN}$ACTIVE_SHELL ${YEL}alias removed ... ${CRS}"
|
||||
fi
|
||||
|
||||
elif [ "$ACTIVE_SHELL" == "bash" ] ; then
|
||||
if [ "$(cat $HOME/.bashrc | grep "$ALIAS")" ] ; then
|
||||
sed -i "/$APP_NAME_LONG/d" $HOME/.bashrc
|
||||
sed -i "/$ALIAS/d" $HOME/.bashrc
|
||||
echo -e "\n - Alias removed from ${CYN}$ACTIVE_SHELL${CRS}"
|
||||
echo -e "\n ${CYN}$ACTIVE_SHELL ${YEL}alias removed ... ${CRS}"
|
||||
fi
|
||||
|
||||
elif [ "$ACTIVE_SHELL" == "fish" ] ; then
|
||||
if [ "$(cat $HOME/.config/fish/config.fish | grep "source $HOME/.config/fish/$ALIAS.fish")" ] ; then
|
||||
sed -i "/$ALIAS/d" $HOME/.config/fish/config.fish
|
||||
rm $HOME/.config/fish/$ALIAS.fish
|
||||
echo -e "\n - Alias removed from ${CYN}$ACTIVE_SHELL${CRS}"
|
||||
echo -e "\n ${CYN}$ACTIVE_SHELL ${YEL}alias removed ... ${CRS}"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -e "\n ${YEL}$APP_NAME_LONG removed!${CRS}\n"
|
||||
break
|
||||
echo -e "\n ${RED}$APP_NAME_LONG removed!${CRS}\n"
|
||||
exit
|
||||
|
||||
elif [[ "$CONFIRM_REMOVE" == "n" || "$CONFIRM_REMOVE" == "N" ]] ; then
|
||||
echo -e " ${RED}Cancelled!${CRS}"
|
||||
|
|
@ -532,24 +367,21 @@ remove_application() {
|
|||
done
|
||||
|
||||
else
|
||||
echo -e " ${RED}Can't remove $APP_NAME_LONG! ${CYN}$INSTALL_PATH ${RED}directory not found...${CRS}\n"
|
||||
echo -e "\n ${RED}Can't remove $APP_NAME_LONG! ${YEL}$INSTALL_PATH ${RED}directory not found...${CRS}"
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
### SCRIPT VERSION
|
||||
script_version() {
|
||||
echo -e "\n ${CYN}$APP_NAME_LONG Helper Script Version : ${CRS}$SCRIPT_VERSION\n"
|
||||
echo -e "\n ${CYN}$APP_NAME_LONG Helper Script Version :${CRS} $SCRIPT_VERSION\n"
|
||||
exit
|
||||
|
||||
}
|
||||
|
||||
### UPDATE SCRIPT
|
||||
scrip_version_info() {
|
||||
echo -e " - ${CYN}Local Version :\t${CRS}$SCRIPT_VERSION"
|
||||
echo -e " - ${CYN}Remote Version :\t${CRS}$REMOTE_SCRIPT_VERSION"
|
||||
echo -e " - ${CYN}Update Branch :\t${CRS}$REMOTE_REPO_BRANCH\n"
|
||||
}
|
||||
|
||||
update_script() {
|
||||
### CHECK FOR LOCAL SCRIPT
|
||||
if ! [ -f "$SCRIPT_PATH/$SCRIPT_FILE_NAME" ] ; then
|
||||
echo -e "\n ${YEL}$SCRIPT_FILE_NAME not found...${CRS}"
|
||||
|
||||
|
|
@ -558,14 +390,15 @@ update_script() {
|
|||
read -p " Copy script to $SCRIPT_PATH? (Y/n) : " CONFIRM_SCRIPT_INSTALL
|
||||
|
||||
if [[ "$CONFIRM_SCRIPT_INSTALL" == "" || "$CONFIRM_SCRIPT_INSTALL" == "y" || "$CONFIRM_SCRIPT_INSTALL" == "Y" ]] ; then
|
||||
if ! [ -d "$SCRIPT_PATH" ] ; then
|
||||
mkdir -p $SCRIPT_PATH
|
||||
fi
|
||||
mkdir -p $TMP
|
||||
wget -P $TMP $REMOTE_SCRIPT_URL -q
|
||||
wget -P $TMP $REMOTE_REPO_URL/$AUTO_SCRIPT_FILE_NAME -q
|
||||
chmod +x $TMP/$SCRIPT_FILE_NAME $TMP/$AUTO_SCRIPT_FILE_NAME
|
||||
mv $TMP/$SCRIPT_FILE_NAME $TMP/$AUTO_SCRIPT_FILE_NAME $SCRIPT_PATH
|
||||
chmod +x $TMP/$SCRIPT_FILE_NAME
|
||||
mv $TMP/$SCRIPT_FILE_NAME $SCRIPT_PATH
|
||||
echo -e "\n ${GRN}$SCRIPT_FILE_NAME is up-to-date!${CRS}"
|
||||
break
|
||||
exit_clean
|
||||
|
||||
elif [[ "$CONFIRM_SCRIPT_INSTALL" == "n" || "$CONFIRM_SCRIPT_INSTALL" == "N" ]] ; then
|
||||
echo -e " ${RED}Cancelled!${CRS}\n"
|
||||
|
|
@ -597,8 +430,9 @@ update_script() {
|
|||
echo -e "\n ${GRN}$SCRIPT_FILE_NAME is already up-to-date!${CRS}\n"
|
||||
|
||||
elif [ "$REMOTE_SCRIPT_VERSION_NUM" -gt "$SCRIPT_VERSION_NUM" ] ; then
|
||||
echo -e "\n ${LCY}$SCRIPT_FILE_NAME is updatable!${CRS}\n"
|
||||
scrip_version_info
|
||||
echo -e "\n ${YEL}$SCRIPT_FILE_NAME is updatable!${CRS}\n"
|
||||
echo -e " ${CYN}Local Version :\t${CRS}${SCRIPT_VERSION}"
|
||||
echo -e " ${CYN}Remote Version :\t${CRS}${REMOTE_SCRIPT_VERSION}\n"
|
||||
|
||||
while true ; do
|
||||
read -p " Update $SCRIPT_FILE_NAME? (Y/n) : " CONFIRM_SCRIPT_UPDATE
|
||||
|
|
@ -609,16 +443,15 @@ update_script() {
|
|||
mkdir -p $BACKUP_PATH
|
||||
fi
|
||||
mv $SCRIPT_PATH/$SCRIPT_FILE_NAME $BACKUP_PATH/$SCRIPT_FILE_NAME.old
|
||||
mv $SCRIPT_PATH/$AUTO_SCRIPT_FILE_NAME $BACKUP_PATH/$AUTO_SCRIPT_FILE_NAME.old
|
||||
mkdir -p $TMP
|
||||
wget -P $TMP $REMOTE_SCRIPT_URL -q
|
||||
wget -P $TMP $REMOTE_REPO_URL/$AUTO_SCRIPT_FILE_NAME -q
|
||||
chmod +x $TMP/$SCRIPT_FILE_NAME $TMP/$AUTO_SCRIPT_FILE_NAME
|
||||
mv $TMP/$SCRIPT_FILE_NAME $TMP/$AUTO_SCRIPT_FILE_NAME $SCRIPT_PATH
|
||||
chmod +x $TMP/$SCRIPT_FILE_NAME
|
||||
mv $TMP/$SCRIPT_FILE_NAME $SCRIPT_PATH
|
||||
echo -e " ${GRN}$SCRIPT_FILE_NAME is up-to-date!${CRS}"
|
||||
break
|
||||
|
||||
elif [[ "$CONFIRM_SCRIPT_UPDATE" == "n" || "$CONFIRM_SCRIPT_UPDATE" == "N" ]] ; then
|
||||
echo -e " ${RED}Cancelled!${CRS}\n"
|
||||
echo -e " ${RED}Cancelled!${CRS}"
|
||||
break
|
||||
|
||||
else
|
||||
|
|
@ -628,21 +461,18 @@ update_script() {
|
|||
|
||||
else
|
||||
echo -e "\n ${RED}Version tags malformed or you are using a Beta version!${CRS}\n"
|
||||
scrip_version_info
|
||||
echo -e " ${CYN}Local Version :\t${CRS}${SCRIPT_VERSION}"
|
||||
echo -e " ${CYN}Remote Version :\t${CRS}${REMOTE_SCRIPT_VERSION}\n"
|
||||
echo -e " ${RED}Updating script failed...${CRS}\n"
|
||||
fi
|
||||
}
|
||||
|
||||
### COMPARE APP VERSION
|
||||
app_version_info() {
|
||||
echo -e " - ${CYN}Local Version :\t${CRS}$LOCAL_VERSION"
|
||||
echo -e " - ${CYN}$APP_SOURCE Version :\t${CRS}$APP_SOURCE_VERSION\n"
|
||||
}
|
||||
|
||||
### COMPARE APPIMAGE VERSION
|
||||
compare_version() {
|
||||
LOCAL_VERSION=$($INSTALL_PATH/$APP_NAME.$FILE_EXTENSION --version | awk '{print $2}')
|
||||
APP_SOURCE_VERSION=$(curl -s $APP_SOURCE_URL | grep "tag_name" | tr -d \", | awk '{print $2}')
|
||||
|
||||
### CHECK FOR EMPTY VERSION TAGS
|
||||
if [ -z "$APP_SOURCE_VERSION" ] ; then
|
||||
echo -e "\n ${RED}Empty version tag from ${CYN}$APP_SOURCE${RED}! Can't compare, exiting...${CRS}\n"
|
||||
exit
|
||||
|
|
@ -652,20 +482,28 @@ compare_version() {
|
|||
exit
|
||||
fi
|
||||
|
||||
### COMPARE LOCAL & REMOTE VERSION
|
||||
LOCAL_VERSION_NUM=$(echo $LOCAL_VERSION | tr -d .)
|
||||
APP_SOURCE_VERSION_NUM=$(echo $APP_SOURCE_VERSION | tr -d .)
|
||||
|
||||
if [ "$APP_SOURCE_VERSION" == "$LOCAL_VERSION" ] ; then
|
||||
echo -e "\n ${GRN}$APP_NAME_LONG is up-to-date!${CRS}\n"
|
||||
app_version_info
|
||||
echo -e " ${CYN}Local Version :\t${CRS}${LOCAL_VERSION}"
|
||||
echo -e " ${CYN}$APP_SOURCE Version :\t${CRS}${APP_SOURCE_VERSION}\n"
|
||||
exit
|
||||
|
||||
elif [ "$APP_SOURCE_VERSION_NUM" -gt "$LOCAL_VERSION_NUM" ] ; then
|
||||
echo -e "\n ${LCY}$APP_NAME_LONG is updatable!${CRS}\n"
|
||||
app_version_info
|
||||
echo -e "\n ${YEL}$APP_NAME_LONG is updatable!${CRS}\n"
|
||||
echo -e " ${CYN}Local Version :\t${CRS}${LOCAL_VERSION}"
|
||||
echo -e " ${CYN}$APP_SOURCE Version :\t${CRS}${APP_SOURCE_VERSION}\n"
|
||||
exit
|
||||
|
||||
else
|
||||
echo -e "\n ${RED}Version tags malformed or you are using a Beta version!${CRS}\n"
|
||||
app_version_info
|
||||
echo -e " ${CYN}Local Version :\t${CRS}${LOCAL_VERSION}"
|
||||
echo -e " ${CYN}$APP_SOURCE Version :\t${CRS}${APP_SOURCE_VERSION}\n"
|
||||
echo -e " ${RED}Update failed ... Exiting ...${CRS}\n"
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
@ -673,19 +511,19 @@ compare_version() {
|
|||
help() {
|
||||
echo -e "\n${LCY}${SCRIPT_NAME}${CRS}\n"
|
||||
echo -e "$APP_NAME_LONG installer & updater script\n"
|
||||
echo -e "Syntax: $SCRIPT_FILE_NAME [ -i | -l | -a | -u | -b | -r | -c | -s | -S | -h ]\n"
|
||||
echo -e "Syntax: $SCRIPT_FILE_NAME [ -i | -l | -a | -u | -r | -c | -s | -S | -h ]\n" # | -U |
|
||||
echo -e "Options:\n"
|
||||
echo -e "\t-i\tInstall $APP_NAME_LONG from $APP_SOURCE"
|
||||
echo -e "\t-i\tDownload & install $APP_NAME_LONG from $APP_SOURCE"
|
||||
echo -e "\t-l\tCreate desktop launcher"
|
||||
echo -e "\t-a\tCreate alias for $SCRIPT_FILE_NAME"
|
||||
echo -e "\t-u\tUpdate $APP_NAME_LONG from $APP_SOURCE"
|
||||
echo -e "\t-b\tBackup $APP_NAME_LONG & configuration"
|
||||
echo -e "\t-u\tDownload & update $APP_NAME_LONG from $APP_SOURCE"
|
||||
#echo -e "\t-U\tEnable automatic updates on login ${RED}--> Not yet working${CRS}"
|
||||
echo -e "\t-r\tRemove $APP_NAME_LONG"
|
||||
echo -e "\t-c\tCompare local to remote version"
|
||||
echo -e "\t-s\tShow script version"
|
||||
echo -e "\t-S\tUpdate $SCRIPT_FILE_NAME"
|
||||
echo -e "\t-h\tPrint this help page\n"
|
||||
echo -e "Configured directories:\n"
|
||||
echo -e "\t-h\tPrint this help page.\n"
|
||||
echo -e "Configured locations:\n"
|
||||
echo -e "\t${CYN}${INSTALL_PATH}${CRS}\t\tInstall location"
|
||||
echo -e "\t${CYN}${LAUNCHER_PATH}${CRS}\tLauncher location"
|
||||
echo -e "\t${CYN}${SCRIPT_PATH}${CRS}\t\t\tScript location\n"
|
||||
|
|
@ -703,88 +541,48 @@ exit_clean() {
|
|||
########## MAIN ##########
|
||||
|
||||
## GET OPTIONS
|
||||
while getopts ":i,:l,:a,:u,:b,:r,:c,:s,:S,:h" OPTION ; do
|
||||
|
||||
if [ "$(echo $1 | wc -m)" -gt "3" ] ; then
|
||||
echo -e "\n${YEL}Option ${RED}$1${YEL} not valid! Use only one parameter at a time...${CRS}"
|
||||
help
|
||||
exit
|
||||
fi
|
||||
|
||||
while getopts ":i,:l,:a,:u,:U,:r,:c,:s,:S,:h" OPTION ; do
|
||||
case $OPTION in
|
||||
i)
|
||||
echo -e "\n ${YEL}Installing $APP_NAME_LONG...${CRS}\n"
|
||||
if [ "$#" -gt "1" ] ; then
|
||||
ALL_PARAMETER=$@
|
||||
|
||||
for PARAMETER in ${ALL_PARAMETER[@]} ; do
|
||||
if [ -d "$PARAMETER" ] ; then
|
||||
INSTALL_PATH=$PARAMETER
|
||||
fi
|
||||
done
|
||||
fi
|
||||
echo -e "\n ${CYN}Installing $APP_NAME_LONG...${CRS}"
|
||||
dependency_check
|
||||
arch_check
|
||||
install_application
|
||||
install_helium
|
||||
exit_clean ;;
|
||||
|
||||
l)
|
||||
echo -e "\n ${YEL}Adding $APP_NAME_LONG launcher...${CRS}"
|
||||
echo -e "\n ${CYN}Adding $APP_NAME_LONG launcher...${CRS}"
|
||||
dependency_check
|
||||
local_check
|
||||
add_launcher
|
||||
exit_clean ;;
|
||||
|
||||
a)
|
||||
echo -e "\n ${YEL}Adding alias...${CRS}"
|
||||
if [ "$#" -gt "1" ] ; then
|
||||
ALL_PARAMETER=$@
|
||||
|
||||
for PARAMETER in ${ALL_PARAMETER[@]} ; do
|
||||
if [ "$PARAMETER" ] ; then
|
||||
ALIAS=$PARAMETER
|
||||
fi
|
||||
done
|
||||
fi
|
||||
echo -e "\n ${CYN}Adding alias...${CRS}"
|
||||
shell_check
|
||||
add_alias
|
||||
exit ;;
|
||||
|
||||
u)
|
||||
echo -e "\n ${YEL}Updating $APP_NAME_LONG...${CRS}"
|
||||
echo -e "\n ${CYN}Updating $APP_NAME_LONG...${CRS}"
|
||||
dependency_check
|
||||
arch_check
|
||||
local_check
|
||||
update_application
|
||||
update_helium
|
||||
exit_clean ;;
|
||||
|
||||
b)
|
||||
echo -e "\n ${YEL}Backing up $APP_NAME_LONG...${CRS}"
|
||||
if [ "$#" -gt "1" ] ; then
|
||||
ALL_PARAMETER=$@
|
||||
|
||||
for PARAMETER in ${ALL_PARAMETER[@]} ; do
|
||||
if [[ "$PARAMETER" == "script" || "$PARAMETER" == "config" || "$PARAMETER" == "app" || "$PARAMETER" == "full" ]] ; then
|
||||
BACKUP_METHOD=$PARAMETER
|
||||
|
||||
elif [[ "$PARAMETER" == "pbzip2" || "$PARAMETER" == "gzip" || "$PARAMETER" == "bzip2" || "$PARAMETER" == "zip" ]] ; then
|
||||
BACKUP_COMPRESSION_OVERRIDE=$PARAMETER
|
||||
|
||||
elif [ -d "$PARAMETER" ] ; then
|
||||
BACKUP_PATH=$PARAMETER
|
||||
fi
|
||||
done
|
||||
fi
|
||||
call_backup
|
||||
exit ;;
|
||||
U)
|
||||
echo -e "\n ${CYN}Enabling automatic updates...${CRS}"
|
||||
dependency_check
|
||||
local_check
|
||||
auto_update
|
||||
exit_clean ;;
|
||||
|
||||
r)
|
||||
echo -e "\n ${YEL}Removing $APP_NAME_LONG...${CRS}\n"
|
||||
remove_application
|
||||
echo -e "\n ${CYN}Removing $APP_NAME_LONG...${CRS}"
|
||||
remove_helium
|
||||
exit ;;
|
||||
|
||||
c)
|
||||
echo -e "\n ${YEL}Comparing remote to local version...${CRS}"
|
||||
echo -e "\n ${CYN}Comparing remote to local version...${CRS}"
|
||||
dependency_check
|
||||
local_check
|
||||
compare_version
|
||||
|
|
@ -795,7 +593,7 @@ while getopts ":i,:l,:a,:u,:b,:r,:c,:s,:S,:h" OPTION ; do
|
|||
exit ;;
|
||||
|
||||
S)
|
||||
echo -e "\n ${YEL}Updating script...${CRS}"
|
||||
echo -e "\n ${CYN}Updating script...${CRS}"
|
||||
dependency_check
|
||||
update_script
|
||||
exit_clean ;;
|
||||
|
|
@ -811,15 +609,14 @@ while getopts ":i,:l,:a,:u,:b,:r,:c,:s,:S,:h" OPTION ; do
|
|||
esac
|
||||
done
|
||||
|
||||
## ENVIRONMENT CHECK
|
||||
## DEPENDENCY CHECK
|
||||
dependency_check
|
||||
arch_check
|
||||
|
||||
## CHECK LOCAL INSTALL
|
||||
## CHECK FOR LOCAL INSTALL
|
||||
local_check
|
||||
|
||||
## UPDATE
|
||||
update_application
|
||||
update_helium
|
||||
|
||||
## CLEAN
|
||||
exit_clean
|
||||
|
|
|
|||
|
|
@ -9,13 +9,10 @@ APP_NAME_LONG="Helium Web Browser"
|
|||
ARCH="x86_64"
|
||||
FILE_EXTENSION="AppImage"
|
||||
APP_SOURCE="GitHub"
|
||||
NOTIFY_NAME="Helium Helper"
|
||||
SCRIPT_NAME="$APP_NAME Launcher Updater"
|
||||
PARENT_SCRIPT_FILE_NAME="helium_helper.sh"
|
||||
SCRIPT_FILE_NAME="helium_launcher_update.sh"
|
||||
SCRIPT_VERSION="0.5.9.1"
|
||||
LOG_DATE=$(date)
|
||||
DATE=$(date +"%d%m%y")
|
||||
SCRIPT_VERSION="0.5.8"
|
||||
DATE=$(date)
|
||||
|
||||
## LOCATIONS
|
||||
TMP=/tmp/$APP_NAME
|
||||
|
|
@ -60,122 +57,39 @@ dependency_check () {
|
|||
mkdir -p $LOG_PATH
|
||||
echo "########## $APP_NAME_LONG update log ##########" >> $LOG
|
||||
echo >> $LOG
|
||||
echo "$LOG_DATE | Log created" >> $LOG
|
||||
echo "$DATE | Log created" >> $LOG
|
||||
|
||||
fi
|
||||
|
||||
if [ -f "$TMP/missingDeps" ] ; then
|
||||
MISSING=$(cat $TMP/missingDeps)
|
||||
echo "$LOG_DATE | Failed to update - missing dependencies : $MISSING" >> $LOG
|
||||
notify-send --icon="$ICON" "$NOTIFY_NAME" "Update failed! See log for details"
|
||||
echo "$DATE | Failed to update - missing dependencies : $MISSING" >> $LOG
|
||||
notify-send --icon="$ICON" --app-name="Helium Helper" "Update failed! See log for details"
|
||||
exit_clean
|
||||
|
||||
fi
|
||||
|
||||
if ! [ -d "$INSTALL_PATH" ] ; then
|
||||
mkdir -p $INSTALL_PATH
|
||||
echo "$LOG_DATE | Failed to update - $APP_NAME installation path not present - But created for logging" >> $LOG
|
||||
notify-send --icon="$ICON" "$NOTIFY_NAME" "Update failed! See log for details"
|
||||
echo "$DATE | Failed to update - $APP_NAME installation path not present - But created for logging" >> $LOG
|
||||
notify-send --icon="$ICON" --app-name="Helium Helper" "Update failed! See log for details"
|
||||
exit
|
||||
|
||||
elif ! [ -f "$INSTALL_PATH/$APP_NAME.$FILE_EXTENSION" ] ; then
|
||||
echo "$LOG_DATE | Failed to update - Local $APP_NAME AppImage not found" >> $LOG
|
||||
notify-send --icon="$ICON" "$NOTIFY_NAME" "Update failed! See log for details"
|
||||
echo "$DATE | Failed to update - Local $APP_NAME AppImage not found" >> $LOG
|
||||
notify-send --icon="$ICON" --app-name="Helium Helper" "Update failed! See log for details"
|
||||
exit
|
||||
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
### BACKUP
|
||||
backup_helium() {
|
||||
if [[ -d "$INSTALL_PATH" || -d "$SCRIPT_PATH" || -d $APP_CONFIG_PATH ]] ; then
|
||||
BACKUPABLE=("$INSTALL_PATH/$APP_NAME.$FILE_EXTENSION" "$SCRIPT_PATH/$SCRIPT_FILE_NAME" "$SCRIPT_PATH/$AUTO_SCRIPT_FILE_NAME" "$LAUNCHER_PATH/$APP_NAME.desktop" "$APP_CONFIG_PATH")
|
||||
|
||||
for BACKUP_ITEM in ${BACKUPABLE[@]} ; do
|
||||
if [ -d "$BACKUP_ITEM" ] ; then
|
||||
mkdir -p $TMP/backup
|
||||
cp -r $BACKUP_ITEM $TMP/backup
|
||||
|
||||
elif [ -f "$BACKUP_ITEM" ] ; then
|
||||
mkdir -p $TMP/backup
|
||||
cp $BACKUP_ITEM $TMP/backup
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -d "$TMP/backup" ] ; then
|
||||
CWD=$(pwd)
|
||||
cd $TMP/backup
|
||||
chmod -x *.sh *.$FILE_EXTENSION > /dev/null 2>&1
|
||||
|
||||
if [ "$BACKUP_COMPRESSION_OVERRIDE" ] ; then
|
||||
BACKUP_COMPRESSION=$BACKUP_COMPRESSION_OVERRIDE
|
||||
|
||||
elif ! [ "$BACKUP_COMPRESSION_OVERRIDE" ] ; then
|
||||
COMPRESSION_METHOD=("pbzip2" "gzip" "bzip2" "zip")
|
||||
|
||||
until [ "$BACKUP_COMPRESSION" ] ; do
|
||||
for COMPRESSION_TYPE in ${COMPRESSION_METHOD[@]} ; do
|
||||
|
||||
if [ "$(command -v $COMPRESSION_TYPE) > /dev/null 2>&1" ] ; then
|
||||
BACKUP_COMPRESSION=$COMPRESSION_TYPE
|
||||
break
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "$BACKUP_COMPRESSION" == "pbzip2" ] ; then
|
||||
tar -cf $APP_NAME.auto_backup_$DATE.tar * > /dev/null 2>&1
|
||||
pbzip2 $APP_NAME.auto_backup_$DATE.tar
|
||||
mkdir -p $BACKUP_PATH
|
||||
mv $APP_NAME.auto_backup_$DATE.tar.bz2 $BACKUP_PATH
|
||||
cd $TMP && rm -rf backup
|
||||
|
||||
elif [ "$BACKUP_COMPRESSION" == "gzip" ] ; then
|
||||
tar -cf $APP_NAME.auto_backup_$DATE.tar * > /dev/null 2>&1
|
||||
gzip $APP_NAME.auto_backup_$DATE.tar
|
||||
mkdir -p $BACKUP_PATH
|
||||
mv $APP_NAME.auto_backup_$DATE.tar.gz $BACKUP_PATH
|
||||
cd $TMP && rm -rf backup
|
||||
|
||||
elif [ "$BACKUP_COMPRESSION" == "bzip2" ] ; then
|
||||
tar -cf $APP_NAME.auto_backup_$DATE.tar * > /dev/null 2>&1
|
||||
bzip2 $APP_NAME.auto_backup_$DATE.tar
|
||||
mkdir -p $BACKUP_PATH
|
||||
mv $APP_NAME.auto_backup_$DATE.tar.bz2 $BACKUP_PATH
|
||||
cd $TMP && rm -rf backup
|
||||
|
||||
elif [ "$BACKUP_COMPRESSION" == "zip" ] ; then
|
||||
tar -cf $APP_NAME.auto_backup_$DATE.tar * > /dev/null 2>&1
|
||||
zip -r $APP_NAME.auto_backup_$DATE.tar.zip $APP_NAME.auto_backup_$DATE.tar > /dev/null 2>&1
|
||||
mkdir -p $BACKUP_PATH
|
||||
mv $APP_NAME.auto_backup_$DATE.tar.zip $BACKUP_PATH
|
||||
cd $TMP && rm -rf backup
|
||||
|
||||
else
|
||||
echo "$LOG_DATE | Backup - Backup (uncompressed) written to $BACKUP_PATH" >> $LOG
|
||||
mkdir -p $BACKUP_PATH
|
||||
mv $TMP/backup $BACKUP_PATH/$APP_NAME.auto_backup_$DATE
|
||||
cd $TMP && rm -rf backup
|
||||
fi
|
||||
|
||||
echo "$LOG_DATE | Backup - Backup (compressed $BACKUP_COMPRESSION archive) written to $BACKUP_PATH" >> $LOG
|
||||
notify-send --icon="$ICON" "$NOTIFY_NAME" "Backup created"
|
||||
cd $CWD
|
||||
fi
|
||||
|
||||
else
|
||||
echo "$LOG_DATE | Failed to backup - Nothing worth backing up found" >> $LOG
|
||||
fi
|
||||
}
|
||||
|
||||
### UPDATE SCRIPT
|
||||
update_script() {
|
||||
### CHECK FOR LOCAL SCRIPT
|
||||
if ! [ -f "$SCRIPT_PATH/$SCRIPT_FILE_NAME" ] ; then
|
||||
echo "$LOG_DATE | Failed to update script - local file not found" >> $LOG
|
||||
notify-send --icon="$ICON" "$NOTIFY_NAME" "Script update failed! See log for details"
|
||||
echo "$DATE | Failed to update script - local file not found" >> $LOG
|
||||
notify-send --icon="$ICON" --app-name="Helium Helper" "Script update failed! See log for details"
|
||||
exit
|
||||
|
||||
fi
|
||||
|
|
@ -184,13 +98,13 @@ update_script() {
|
|||
|
||||
### CHECK FOR EMPTY VERSION TAGS
|
||||
if [ -z "$SCRIPT_VERSION" ] ; then
|
||||
echo "$LOG_DATE | Failed to update script - Empty version tag --> local" >> $LOG
|
||||
notify-send --icon="$ICON" "$NOTIFY_NAME" "Script update failed! See log for details"
|
||||
echo "$DATE | Failed to update script - Empty version tag --> local" >> $LOG
|
||||
notify-send --icon="$ICON" --app-name="Helium Helper" "Script update failed! See log for details"
|
||||
exit
|
||||
|
||||
elif [ -z "$REMOTE_SCRIPT_VERSION" ] ; then
|
||||
echo "$LOG_DATE | Failed to update script - Empty version tag --> $APP_SOURCE" >> $LOG
|
||||
notify-send --icon="$ICON" "$NOTIFY_NAME" "Script update failed! See log for details"
|
||||
echo "$DATE | Failed to update script - Empty version tag --> $APP_SOURCE" >> $LOG
|
||||
notify-send --icon="$ICON" --app-name="Helium Helper" "Script update failed! See log for details"
|
||||
exit
|
||||
|
||||
fi
|
||||
|
|
@ -200,23 +114,22 @@ update_script() {
|
|||
REMOTE_SCRIPT_VERSION_NUM=$(echo $REMOTE_SCRIPT_VERSION | tr -d .)
|
||||
|
||||
if [ "$REMOTE_SCRIPT_VERSION" == "$SCRIPT_VERSION" ] ; then
|
||||
notify-send --icon="$ICON" "$NOTIFY_NAME" "Script is up-to-date"
|
||||
notify-send --icon="$ICON" --app-name="Helium Helper" "Script is up-to-date"
|
||||
|
||||
elif [ "$REMOTE_SCRIPT_VERSION_NUM" -gt "$SCRIPT_VERSION_NUM" ] ; then
|
||||
mv $SCRIPT_PATH/$SCRIPT_FILE_NAME $BACKUP_PATH/$SCRIPT_FILE_NAME.old
|
||||
mkdir -p $TMP
|
||||
wget -P $TMP $REMOTE_SCRIPT_URL -q
|
||||
wget -P $TMP $REMOTE_REPO_URL/$PARENT_SCRIPT_FILE_NAME -q
|
||||
chmod +x $TMP/$SCRIPT_FILE_NAME $TMP/$PARENT_SCRIPT_FILE_NAME
|
||||
mv $TMP/$SCRIPT_FILE_NAME $TMP/$PARENT_SCRIPT_FILE_NAME $SCRIPT_PATH
|
||||
echo "$LOG_DATE | Script updated to version $REMOTE_SCRIPT_VERSION" >> $LOG
|
||||
notify-send --icon="$ICON" "$NOTIFY_NAME" "Script updated to version $REMOTE_SCRIPT_VERSION"
|
||||
chmod +x $TMP/$SCRIPT_FILE_NAME
|
||||
mv $TMP/$SCRIPT_FILE_NAME $SCRIPT_PATH
|
||||
echo "$DATE | Script updated to version $REMOTE_SCRIPT_VERSION" >> $LOG
|
||||
notify-send --icon="$ICON" --app-name="Helium Helper" "Script updated to version $REMOTE_SCRIPT_VERSION"
|
||||
|
||||
else
|
||||
echo "$LOG_DATE | Failed to update - Malformed version tags" >> $LOG
|
||||
echo "$LOG_DATE | Remote Version: $REMOTE_SCRIPT_VERSION" >> $LOG
|
||||
echo "$LOG_DATE | Local Version: $SCRIPT_VERSION" >> $LOG
|
||||
notify-send --icon="$ICON" "$NOTIFY_NAME" "Script update failed! See log for details"
|
||||
echo "$DATE | Failed to update - Malformed version tags" >> $LOG
|
||||
echo "$DATE | Remote Version: $REMOTE_SCRIPT_VERSION" >> $LOG
|
||||
echo "$DATE | Local Version: $SCRIPT_VERSION" >> $LOG
|
||||
notify-send --icon="$ICON" --app-name="Helium Helper" "Script update failed! See log for details"
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
@ -229,13 +142,13 @@ update_helium() {
|
|||
|
||||
### CHECK FOR EMPTY VERSION TAGS
|
||||
if [[ -z "$APP_SOURCE_VERSION" ]] ; then
|
||||
echo "$LOG_DATE | Failed to update - Empty version tag --> $APP_SOURCE" >> $LOG
|
||||
notify-send --icon="$ICON" "$NOTIFY_NAME" "Browser update failed! See log for details"
|
||||
echo "$DATE | Failed to update - Empty version tag --> $APP_SOURCE" >> $LOG
|
||||
notify-send --icon="$ICON" --app-name="Helium Helper" "Browser update failed! See log for details"
|
||||
exit
|
||||
|
||||
elif [[ -z "$LOCAL_VERSION" ]] ; then
|
||||
echo "$LOG_DATE | Failed to update - Empty version tag --> LOCAL" >> $LOG
|
||||
notify-send --icon="$ICON" "$NOTIFY_NAME" "Browser update failed! See log for details"
|
||||
echo "$DATE | Failed to update - Empty version tag --> LOCAL" >> $LOG
|
||||
notify-send --icon="$ICON" --app-name="Helium Helper" "Browser update failed! See log for details"
|
||||
exit
|
||||
|
||||
fi
|
||||
|
|
@ -245,21 +158,32 @@ update_helium() {
|
|||
APP_SOURCE_VERSION_NUM=$(echo $APP_SOURCE_VERSION | tr -d .)
|
||||
|
||||
if [ "$APP_SOURCE_VERSION" == "$LOCAL_VERSION" ] ; then
|
||||
notify-send --icon="$ICON" "$NOTIFY_NAME" "Browser is up-to-date"
|
||||
notify-send --icon="$ICON" --app-name="Helium Helper" "Browser is up-to-date"
|
||||
|
||||
elif [ "$APP_SOURCE_VERSION_NUM" -gt "$LOCAL_VERSION_NUM" ] ; then
|
||||
mkdir -p $TMP
|
||||
wget -P $TMP $DOWNLOAD_URL -q
|
||||
mkdir -p $TMP $BACKUP_PATH
|
||||
wget -P $TMP $DOWNLOAD_URL -q --show-progress
|
||||
chmod +x $TMP/$APP_SOURCE_FILENAME
|
||||
backup_helium
|
||||
if [ -f "$BACKUP_PATH/$APP_NAME.old" ] ; then
|
||||
rm $BACKUP_PATH/$APP_NAME.old
|
||||
fi
|
||||
if [ -d "$APP_CONFIG_PATH" ] ; then
|
||||
if [ -f "$BACKUP_PATH/$APP_NAME.config_*.tar" ] ; then
|
||||
rm $BACKUP_PATH/$APP_NAME.config_*.tar
|
||||
fi
|
||||
tar -cf $BACKUP_PATH/$APP_NAME.config_$(date).tar $APP_CONFIG_PATH > /dev/null 2>&1
|
||||
fi
|
||||
mv $INSTALL_PATH/$APP_NAME.$FILE_EXTENSION $BACKUP_PATH/$APP_NAME.$FILE_EXTENSION.old
|
||||
mv $TMP/$APP_SOURCE_FILENAME $INSTALL_PATH/$APP_NAME.$FILE_EXTENSION
|
||||
cp $LAUNCHER_PATH/$APP_NAME.desktop $BACKUP_PATH/$APP_NAME.desktop.old
|
||||
chmod -x $BACKUP_PATH/*.sh.old $BACKUP_PATH/$APP_NAME.old
|
||||
sed -i "s|X-AppImage-Version=.*|X-AppImage-Version=$($INSTALL_PATH/$APP_NAME.$FILE_EXTENSION --version | awk '{print $2}')|" $LAUNCHER_PATH/$APP_NAME.desktop
|
||||
echo "$LOG_DATE | $APP_NAME updated to version ${APP_SOURCE_VERSION}" >> $LOG
|
||||
notify-send --icon="$ICON" "$NOTIFY_NAME" "Browser updated to version $APP_SOURCE_VERSION"
|
||||
echo "$DATE | $APP_NAME updated to version ${APP_SOURCE_VERSION}" >> $LOG
|
||||
notify-send --icon="$ICON" --app-name="Helium Helper" "Browser updated to version $APP_SOURCE_VERSION"
|
||||
|
||||
else
|
||||
echo "$LOG_DATE | Failed to update - Version tags malformed" >> $LOG
|
||||
notify-send --icon="$ICON" "$NOTIFY_NAME" "Browser update failed! See log for details"
|
||||
echo "$DATE | Failed to update - Version tags malformed" >> $LOG
|
||||
notify-send --icon="$ICON" --app-name="Helium Helper" "Browser update failed! See log for details"
|
||||
exit
|
||||
|
||||
fi
|
||||
|
|
@ -278,7 +202,7 @@ show_log() {
|
|||
xdg-open $LOG
|
||||
|
||||
else
|
||||
notify-send --icon="$ICON" "$NOTIFY_NAME" "No log created yet"
|
||||
notify-send --icon="$ICON" --app-name="Helium Helper" "No log created yet"
|
||||
|
||||
fi
|
||||
}
|
||||
|
|
@ -315,13 +239,6 @@ exit_clean() {
|
|||
|
||||
## GET OPTIONS
|
||||
while getopts ":a,:s,:S,:L,:h" OPTION ; do
|
||||
|
||||
if [ "$(echo $1 | wc -m)" -gt "3" ] ; then
|
||||
echo -e "\n${YEL}Option ${RED}$1${YEL} not valid! Use only one parameter at a time...${CRS}"
|
||||
help
|
||||
exit
|
||||
fi
|
||||
|
||||
case $OPTION in
|
||||
|
||||
S)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue