95 lines
2.4 KiB
Bash
95 lines
2.4 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
# HELIUM BOWSER AUTO UPDATE SCRIPT WITH LOGGING
|
||
|
|
|
||
|
|
## VARIABLES & TMP FOLDER
|
||
|
|
mkdir -p /tmp/Helium
|
||
|
|
TMP=/tmp/Helium
|
||
|
|
INSTALL_PATH=$HOME/.apps/Helium
|
||
|
|
LOG=$INSTALL_PATH/updateLog
|
||
|
|
DEPENDENCIES=("curl" "wget")
|
||
|
|
MISSING=$(cat $TMP/missingDeps 2>/dev/null)
|
||
|
|
GIT_VERSION=$(curl -s https://api.github.com/repos/imputnet/helium-linux/releases/latest | grep "tag_name" | tr -d \", | awk '{print $2}')
|
||
|
|
LOCAL_VERSION=$($INSTALL_PATH/helium-browser.AppImage --version | awk '{print $2}')
|
||
|
|
DATE=$(date)
|
||
|
|
|
||
|
|
## CHECKS
|
||
|
|
if ! [ -d "$INSTALL_PATH" ] ; then
|
||
|
|
mkdir -p $INSTALL_PATH
|
||
|
|
echo "${DATE} | Failed to update - Helium installation path not present - But created for logging" >> $LOG
|
||
|
|
exit 1
|
||
|
|
|
||
|
|
elif ! [ -f "$INSTALL_PATH/helium-browser.AppImage" ] ; then
|
||
|
|
echo "${DATE} | Failed to update - Local Helium AppImage not found" >> $LOG
|
||
|
|
exit 1
|
||
|
|
|
||
|
|
else
|
||
|
|
:
|
||
|
|
|
||
|
|
fi
|
||
|
|
|
||
|
|
### SCRIPT DEPENDENCIES
|
||
|
|
dependency_check() {
|
||
|
|
local PACKAGE="$1"
|
||
|
|
|
||
|
|
if command -v "$PACKAGE" >/dev/null 2>&1 ; then
|
||
|
|
:
|
||
|
|
|
||
|
|
else
|
||
|
|
echo "$PACKAGE" >>$TMP/missingDeps
|
||
|
|
|
||
|
|
fi
|
||
|
|
}
|
||
|
|
|
||
|
|
for PACKAGE in "${DEPENDENCIES[@]}" ; do
|
||
|
|
dependency_check "$PACKAGE"
|
||
|
|
|
||
|
|
done
|
||
|
|
|
||
|
|
if ! [ "$MISSING" ] ; then
|
||
|
|
:
|
||
|
|
|
||
|
|
else
|
||
|
|
echo "${DATE} | Failed to update - missing dependencies : $MISSING" >> $LOG
|
||
|
|
exit 1
|
||
|
|
|
||
|
|
fi
|
||
|
|
|
||
|
|
## COMPARE VERSIONS
|
||
|
|
update_helium() {
|
||
|
|
GIT_URL=$(curl -s https://api.github.com/repos/imputnet/helium-linux/releases/latest | grep "browser_download_url" | grep "x86_64.AppImage" | grep -v "zsync" | tr -d \" | awk '{print $2}')
|
||
|
|
GIT_FILENAME=$(curl -s https://api.github.com/repos/imputnet/helium-linux/releases/latest | grep "browser_download_url" | grep "x86_64.AppImage" | grep -v "zsync" | tr -d \" | awk '{print $2}' | awk -F'/' '{print $9}')
|
||
|
|
wget -P $TMP $GIT_URL -q
|
||
|
|
chmod +x $TMP/$GIT_FILENAME
|
||
|
|
rm $INSTALL_PATH/helium-browser.OldAppImage >/dev/null 2>&1
|
||
|
|
mv $INSTALL_PATH/helium-browser.AppImage $INSTALL_PATH/helium-browser.OldAppImage >/dev/null 2>&1
|
||
|
|
mv $TMP/$GIT_FILENAME $INSTALL_PATH/helium-browser.AppImage
|
||
|
|
echo "${DATE} | Helium updated to ${GIT_VERSION}" >> $LOG
|
||
|
|
}
|
||
|
|
|
||
|
|
### CHECK FOR EMPTY VERSION TAGS
|
||
|
|
if [[ -z "$GIT_VERSION" ]] ; then
|
||
|
|
echo "${DATE} | Failed to update - Emty version tag --> GIT" >> $LOG
|
||
|
|
exit 1
|
||
|
|
|
||
|
|
elif [[ -z "$LOCAL_VERSION" ]] ; then
|
||
|
|
echo "${DATE} | Failed to update - Emty version tag --> LOCAL" >> $LOG
|
||
|
|
exit 1
|
||
|
|
|
||
|
|
else
|
||
|
|
:
|
||
|
|
|
||
|
|
fi
|
||
|
|
|
||
|
|
if [[ "$GIT_VERSION" == "$LOCAL_VERSION" ]] ; then
|
||
|
|
:
|
||
|
|
|
||
|
|
else
|
||
|
|
update_helium
|
||
|
|
|
||
|
|
fi
|
||
|
|
|
||
|
|
rm -rf $TMP
|
||
|
|
|
||
|
|
exit 0
|