#!/usr/bin/env miaou-bash # Constants GIT_URL=git@git.artcode.re:miaou/miaou-bash.git # Functions function assert_normal_user { [[ "$UID" -eq 0 ]] && echo 'normal user expected' && return 1 true } function assert_credentials { local base_url base_url=$(echo "$GIT_URL" | cut -d: -f1) if ! ssh -T "${base_url}"; then echo "credentials missing: $base_url" return 2 fi } function dev_mode { git clone "$GIT_URL" sudo rm "$MIAOU_BASH_DIR" -rf sudo ln -s "$target" "$MIAOU_BASH_DIR" sudo -E "$MIAOU_BASH_DIR"/lib/initiate.bash } function assert_reachable_target { sudo -u nobody -g sudo test -x "$(dirname "$target")" } # Main source "$MIAOU_BASH_DIR"/lib/functions.bash assert_normal_user assert_system_mode assert_credentials name=$(echo "$GIT_URL" | cut -d/ -f2) name="${name%.git}" target="$PWD/$name" _confirm_destructive "target directory will be: ${target}" assert_reachable_target dev_mode