#!/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