#!/usr/bin/env miaou-bash # CONSTANTS INSTALL_URL='https://git.artcode.re/miaou/miaou-bash/raw/branch/main/install.sh' # FUNCTIONS function hosted_upgrade { cat >&2 <&2 echo "ERROR: development mode owned by: $MIAOU_BASH_MODE_OWNER" && builtin exit 11 cd "$MIAOU_BASH_DIR"/ || return 12 # should not happen [[ -n "$(git status --porcelain)" ]] && >&2 echo 'ERROR: repository has uncommited changes!' && builtin exit 12 local git_output git_output=$(git pull 2>&1) if echo "$git_output" | grep -q 'up to date'; then echo already up-to-date else sudo_root sudo miaou lib/initiate.bash fi } function system_upgrade { local current latest current=$("$MIAOU_BASH_DIR"/bin/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 echo "new version available: $latest" perform_upgrade fi } function perform_upgrade { sudo_root local backup="$MIAOU_BASH_DIR".before_upgrade sudo mv "$MIAOU_BASH_DIR" "$backup" curl -s --output /tmp/miaou-bash-install.sh "$INSTALL_URL" # if "$backup"/install.sh upgraded; then echo coucou echo coucou2 # shellcheck disable=SC1091 if source /tmp/miaou-bash-install.sh upgrade; then if [[ $(find "$backup"/hooks.d -maxdepth 1 -type f | wc -l) -gt 0 ]]; then sudo mv "$backup"/hooks.d/* "$MIAOU_BASH_DIR"/hooks.d/ fi sudo rm -rf "$backup" cat <