You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1015 B
44 lines
1015 B
#!/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 repair_miaou_bash_dir {
|
|
if [[ ! -v MIAOU_BASH_DIR ]]; then
|
|
>&2 echo 'WARNING: MIAOU_BASH_DIR undefined : repair-mode enabled'
|
|
MIAOU_BASH_DIR=/opt/miaou-bash
|
|
export MIAOU_BASH_DIR
|
|
fi
|
|
}
|
|
|
|
# MAIN
|
|
|
|
repair_miaou_bash_dir
|
|
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"/bin/miaou-bash --initiate
|
|
echo "up-to-date version: $current"
|
|
else
|
|
self_upgrade
|
|
fi
|