#!/bin/bash
# This script only helps to update applications that have already been installed by the user,
# but that are not found in software repositories.

# Package information
package_name="pdfsam-basic"
latest_package_version="5.2.0"
package_installation_directory="/opt/$package_name-updater"
executable_file="/opt/pdfsam-basic/bin/pdfsam-basic"
package_download_name="pdfsam_$latest_package_version-1_amd64.deb"
download_link="https://github.com/torakiki/pdfsam/releases/download/v$latest_package_version/pdfsam_$latest_package_version-1_amd64.deb"
expected_package_version=$(echo $latest_package_version | cut -d"-" -f -1 | sed "s/\.//g")
installed_package_version=$(rpm -qi $package_name-updater | grep Ver | awk '{print $3}' | sed "s/\.//g")

# If necessary, update the application installation
function update_app() {
ps -C regataos-store > /dev/null
if [ $? = 0 ]
then
    if test -e "/tmp/progressbar-store/installing-$package_name" ; then
        # Prepare the progress bar and downloading
        rm -f "/tmp/progressbar-store/progress-movement"
        echo "0%" > /tmp/progressbar-store/progress
        echo "Downloading..." > /tmp/progressbar-store/status
        chmod 777 /tmp/progressbar-store/*
        sleep 1
        echo "show progress bar" > /tmp/progressbar-store/progressbar
        chmod 777 /tmp/progressbar-store/*

        echo "/tmp/progressbar-store/$package_download_name" > /tmp/progressbar-store/file-download-size
        chmod 777 /tmp/progressbar-store/*
        echo "wget --no-check-certificate -O $package_installation_directory/$package_download_name $download_link" > /tmp/progressbar-store/get-pid
        mkdir -p $package_installation_directory/
        wget --no-check-certificate -O $package_installation_directory/$package_download_name $download_link 2>&1 | (pv -n > /tmp/progressbar-store/download-percentage)
        echo 100% > /tmp/progressbar-store/progress
        chmod 777 /tmp/progressbar-store/*
        sleep 1
        #Clear cache
        rm -f "/tmp/progressbar-store/download-percentage"
        rm -f "/tmp/progressbar-store/download-size"
        rm -f "/tmp/progressbar-store/download-speed"
        rm -f "/tmp/progressbar-store/file-size"
        rm -f "/tmp/progressbar-store/eta"

        # Install app
        #Prepare the progress bar and install
        chmod 777 /tmp/progressbar-store/*
        echo "Installing..." > /tmp/progressbar-store/status
        echo "" > /tmp/progressbar-store/progress
        echo "installing" > /tmp/progressbar-store/progress-movement

        #Install package
        cd $package_installation_directory/
        ar -x "$package_download_name"
        tar -zxpvf $package_installation_directory/data.tar.gz -C /

    else
        #Get the app
        mkdir -p $package_installation_directory/
        wget --no-check-certificate -O $package_installation_directory/$package_download_name $download_link

        #Install package
        cd $package_installation_directory/
        ar -x "$package_download_name"
        tar -zxpvf $package_installation_directory/data.tar.gz -C /
    fi
else
    #Get the app
    mkdir -p $package_installation_directory/
    wget --no-check-certificate -O $package_installation_directory/$package_download_name $download_link

    #Install package
    cd $package_installation_directory/
    ar -x "$package_download_name"
    tar -zxpvf $package_installation_directory/data.tar.gz -C /
fi
}

# Check the package version
#Check the main version of the application
if [ $expected_package_version -gt $installed_package_version ]
then
    echo "Updating app"
    update_app
else
	if test ! -e "$executable_file" ; then
		echo "Installing app"
		update_app
	else
		echo "App version: $latest_package_version. The application appears to be updated. Nothing to do."
	fi
fi
