90 lines
3.5 KiB
Bash
90 lines
3.5 KiB
Bash
#!/usr/bin/env bash
|
|
###
|
|
# File: install_heroic.sh
|
|
# Project: scripts
|
|
# File Created: Thursday, 1st January 1970 12:00:00 pm
|
|
# Author: Console and webGui login account (jsunnex@gmail.com)
|
|
# -----
|
|
# Last Modified: Wednesday, 31st August 2022 10:01:31 pm
|
|
# Modified By: Josh.5 (jsunnex@gmail.com)
|
|
###
|
|
|
|
pkg=heroic
|
|
script_path=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd );
|
|
script_name=$( basename "${BASH_SOURCE[0]}" )
|
|
|
|
github_get_all_release() {
|
|
REPO="${1}";
|
|
curl --silent "https://api.github.com/repos/${REPO}/releases" \
|
|
| grep '"tag_name":' \
|
|
| sed -E 's/.*"([^"]+)".*/\1/';
|
|
}
|
|
github_get_release_download_url() {
|
|
REPO="${1}";
|
|
TAG="${2}";
|
|
TYPE="${3}";
|
|
IGNORE="${4}";
|
|
curl --silent "https://api.github.com/repos/${REPO}/releases/tags/${TAG}" \
|
|
| grep '"browser_download_url":' \
|
|
| sed -E 's/.*"([^"]+)".*/\1/' \
|
|
| grep -P "${TYPE}" \
|
|
| grep -P "${TYPE}" \
|
|
| head -n1;
|
|
}
|
|
|
|
install() {
|
|
|
|
# Download Heroic deb package if it does not yet exist
|
|
__latest_heroic_release=$(github_get_all_release "Heroic-Games-Launcher/HeroicGamesLauncher" | head -n1)
|
|
if [[ ! -f "/home/${USER}/Downloads/heroic-${__latest_heroic_release}.deb" ]]; then
|
|
__heroic_download_link=$(github_get_release_download_url "Heroic-Games-Launcher/HeroicGamesLauncher" "${__latest_heroic_release}" ".deb")
|
|
wget -O /tmp/heroic.deb "${__heroic_download_link}"
|
|
[[ $? -gt 0 ]] && echo "Error downloading pacakge. Exit!" && return 1
|
|
mv /tmp/heroic.deb "/home/${USER}/Downloads/heroic-${__latest_heroic_release}.deb"
|
|
fi
|
|
|
|
# Install/Update the latest version of Heroic
|
|
[[ "${APT_UPDATED:-false}" == 'false' ]] && apt-get update && APT_UPDATED=true
|
|
apt-get install -y "/home/${USER}/Downloads/heroic-${__latest_heroic_release}.deb"
|
|
|
|
# Install/Update deps for HeroicBashLauncher
|
|
[[ "${APT_UPDATED:-false}" == 'false' ]] && apt-get update && APT_UPDATED=true
|
|
apt-get install -y zenity
|
|
|
|
# Install/Update the latest version HeroicBashLauncher
|
|
__latest_hbl_release=$(github_get_all_release "redromnon/HeroicBashLauncher" | head -n1)
|
|
if [[ ! -e "/home/${USER}/HeroicBashLauncher/.${__latest_hbl_release}" ]]; then
|
|
# Download HeroicBashLauncher
|
|
if [[ ! -f "/home/${USER}/Downloads/HeroicBashLauncher-${__latest_hbl_release}.zip" ]]; then
|
|
__hbl_download_link=$(github_get_release_download_url "redromnon/HeroicBashLauncher" "${__latest_hbl_release}" "\d\.zip")
|
|
wget -O /tmp/hbl.zip "${__hbl_download_link}"
|
|
[[ $? -gt 0 ]] && echo "Error downloading pacakge. Exit!" && return 1
|
|
mv /tmp/hbl.zip "/home/${USER}/Downloads/HeroicBashLauncher-${__latest_hbl_release}.zip"
|
|
fi
|
|
|
|
# Extract HeroicBashLauncher
|
|
mkdir -p "/home/${USER}/HeroicBashLauncher"
|
|
rm -rf "/tmp/hbl"
|
|
su ${USER} -c "mkdir -p /tmp/hbl && cd /tmp/hbl && unzip -o /home/${USER}/Downloads/HeroicBashLauncher-${__latest_hbl_release}.zip"
|
|
su ${USER} -c "cp -rfv /tmp/hbl/HeroicBashLauncher*/HeroicBashLauncher/* /home/${USER}/HeroicBashLauncher/"
|
|
chmod +x "/home/${USER}/HeroicBashLauncher/HeroicBashLauncher"
|
|
|
|
# Setup script in user PATH
|
|
su ${USER} -c "mkdir -p /home/default/.local/bin"
|
|
su ${USER} -c "ln -sf /home/${USER}/HeroicBashLauncher/HeroicBashLauncher /home/${USER}/.local/bin/HeroicBashLauncher"
|
|
fi
|
|
|
|
# Remove installer shortcut
|
|
rm -f /usr/share/applications/install.heroic.desktop
|
|
}
|
|
|
|
|
|
#INSTALLER:
|
|
source "${script_path}/installer.sh"
|
|
|
|
|
|
|
|
|
|
|
|
|