Browse Source

devmode

main
pvincent 5 days ago
parent
commit
eac23e0510
  1. 48
      lib/devmode.bash

48
lib/devmode.bash

@ -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
Loading…
Cancel
Save