MIAOU-BASH is a collection of settings and helpers for leveraging BASH. Developer-friendly, it may be used as solo package with or without the miaou project.
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.

35 lines
882 B

#!/usr/bin/env miaou-bash
# CONSTANTS
[[ ! -v MAIN_TAR_GZ_URL ]] &&
readonly MAIN_TAR_GZ_URL="https://git.artcode.re/miaou/miaou-bash/archive/main.tar.gz"
# FUNCTIONS
function self_upgrade {
mv "$MIAOU_BASH_DIR" "$MIAOU_BASH_DIR".before_upgrade
if "$MIAOU_BASH_DIR".before_upgrade/install.sh upgraded; then
rm -rf "$MIAOU_BASH_DIR".before_upgrade
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 "$MIAOU_BASH_DIR".before_upgrade "$MIAOU_BASH_DIR"
fi
}
# MAIN
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
echo "up-to-date version: $current"
else
self_upgrade
fi