partial commit for profile upgrade

This commit is contained in:
2023-10-06 11:35:40 +02:00
parent c2ca5f659c
commit 55e88bd018

View File

@@ -33,24 +33,68 @@
# * OF SUCH DAMAGE. # * OF SUCH DAMAGE.
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
export UPDT_URL="https://git.geoffray-levasseur.org/fatalerrors/profile"
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# Check for profile updates # Check for profile updates
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
check_updates() check_updates()
{ {
if [[ $1 == "-q" ]]; then
# Quiet mode is mostly used internally when profile_upgrade is called
quiet=1
fi
disp I "Checking for updates..." disp I "Checking for updates..."
local vfile="/tmp/version" local vfile="/tmp/version"
wget "$UPDT_URL/version" -O $vfile 2&>1 /dev/null || { wget "$UPDT_URL/version" -O $vfile 2&>1 /dev/null || {
disp E "Can\'t download information file, impossible to proceed!" disp E "Can\'t download version file, impossible to proceed!"
return 1 return 5
} }
if [[ -s /tmp/version ]]; then if [[ -s /tmp/version ]]; then
local lastver=$(cat /tmp/version) local lastver=$(cat /tmp/version)
if [[ $lastver != $PROFVERSION ]]; then if [[ $lastver != $PROFVERSION ]]; then
disp I "You have version $PROFVERSION installed. Version $lastver is available." disp I "You have version $PROFVERSION installed. Version $lastver is available."
disp I "You should upgrade to last version when possible." [[ $quiet ]] && disp I "You should upgrade to last version when possible."
result=0
else
disp I "Your version is up-to-date."
result=1
fi fi
rm -f $vfile
else else
disp E "Impossible to read temporary file, impossible to proceed." disp E "Impossible to read temporary file, impossible to proceed."
fi fi
unset lastver vfile
return $result
} }
# ------------------------------------------------------------------------------
# Apply update to profile
# ------------------------------------------------------------------------------
profile_upgrade()
{
if [[ $(check_updates -q) -eq 0 ]]; then
if [[ -s $MYPATH/profile.sh ]]; then
disp E "Installation path detection failed, cannot upgrade automatically."
return 1
fi
if [[ -d $MYPATH/.git ]]; then
disp I "Git installation detected, applying git pull."
local curdir=$(pwd)
cd $MYPATH
git pull
if [[ $? -ne 0 ]]; then
disp E "Git pull failed, upgrade not applyed."
else
disp I "Successfully upgraded using git."
disp I "You should now logout and login again to enjoy new profile."
cd $curdir
fi
else
disp I "Applying traditionnal upgrade..."
# TODO
fi
fi
}
# EOF