Files
miaou-bash/lib/self-upgrade.bash
T
2026-08-16 17:01:12 +04:00

45 lines
981 B
Bash

#!/usr/bin/env miaou-bash
# CONSTANTS
# FUNCTIONS
function self_upgrade {
local backup="$MIAOU_BASH_DIR".before_upgrade
mv "$MIAOU_BASH_DIR" "$backup"
if "$backup"/install.sh upgraded; then
rm -rf "$backup"
echo -n "version: "
. "$MIAOU_BASH_DIR"/bin/miaou-bash --version
else
echo "ERROR: trouble during self-upgrade: revert back"
rm -rf "$MIAOU_BASH_DIR"
mv "$backup" "$MIAOU_BASH_DIR"
fi
}
#TODO: to remove
function safe_mode {
if [[ ! -v MIAOU_BASH_DIR ]]; then
>&2 echo 'WARNING: MIAOU_BASH_DIR undefined : safe-mode enabled'
MIAOU_BASH_DIR=/opt/miaou-bash
export MIAOU_BASH_DIR
fi
}
# MAIN
safe_mode
source "$MIAOU_BASH_DIR"/lib/functions.bash
assert_system_mode
assert_root
current=$(miaou-bash --version)
latest=$("$MIAOU_BASH_DIR/tools/wget_semver" artcode miaou/miaou-bash)
if [[ "$current" == "$latest" ]]; then
. "$MIAOU_BASH_DIR"/lib/initiate.bash
echo "up-to-date version: $current"
else
self_upgrade
fi