devmode
This commit is contained in:
Executable
+48
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env miaou-bash
|
||||
|
||||
# Constants
|
||||
GIT_URL=https://git.artcode.re/miaou/miaou-bash
|
||||
|
||||
# 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/ -f3)
|
||||
if ! ssh -T "git@${base_url}"; then
|
||||
echo "credentials missing: $base_url"
|
||||
return 2
|
||||
fi
|
||||
}
|
||||
|
||||
function assert_system_mode {
|
||||
[[ -L "$MIAOU_BASH_DIR" ]] && echo "already in develoment mode: $(realpath $MIAOU_BASH_DIR)" && return 3
|
||||
true
|
||||
}
|
||||
|
||||
function dev_mode {
|
||||
git clone "$GIT_URL"
|
||||
sudo rm "$MIAOU_BASH_DIR" -rf
|
||||
sudo ln -s "$target" "$MIAOU_BASH_DIR"
|
||||
sudo "$MIAOU_BASH_DIR"/lib/init.sh
|
||||
}
|
||||
|
||||
function assert_reachable_target {
|
||||
sudo -u nobody test -x "$target"
|
||||
}
|
||||
|
||||
# Main
|
||||
|
||||
assert_normal_user
|
||||
assert_system_mode
|
||||
assert_credentials
|
||||
target="$PWD"/
|
||||
target+=$(echo "$GIT_URL" | cut -d/ -f5)
|
||||
source "$MIAOU_BASH_DIR"/lib/functions.bash
|
||||
_confirm_destructive "target directory will be: ${target}"
|
||||
assert_reachable_target
|
||||
dev_mode
|
||||
Reference in New Issue
Block a user