|
|
|
@ -2,56 +2,31 @@ |
|
|
|
|
|
|
|
## CONSTANTS |
|
|
|
|
|
|
|
readonly MAIN_TAR_GZ_URL="https://git.artcode.re/miaou/miaou-bash/archive/main.tar.gz" |
|
|
|
readonly DESTINATION=/opt/miaou-bash |
|
|
|
readonly REQUIRED_PKGS=(file jq) |
|
|
|
readonly MAIN_TAR_GZ_URL="https://git.artcode.re/miaou/miaou-bash/archive/main.tar.gz" |
|
|
|
|
|
|
|
## FUNCTIONS |
|
|
|
|
|
|
|
function push_directory { |
|
|
|
pushd "$1" || (echo "unable to push directory <$1>" && exit 1) |
|
|
|
} |
|
|
|
|
|
|
|
function pop_directory { |
|
|
|
popd || (echo "unable to pop from previous directory" && exit 1) |
|
|
|
} |
|
|
|
|
|
|
|
## MAIN |
|
|
|
|
|
|
|
[[ "$UUID" -ne 0 ]] && echo 'root privilege required' && exit 1 |
|
|
|
|
|
|
|
if [[ -v MIAOU_BASH_DIR ]]; then |
|
|
|
miaou-bash "$MIAOU_BASH_DIR/init.sh" |
|
|
|
else |
|
|
|
MIAOU_BASH_DIR="$DESTINATION" |
|
|
|
export MIAOU_BASH_DIR |
|
|
|
cd "$(mktemp -d)" |
|
|
|
function bootstrap { |
|
|
|
if [[ ! -d "$DESTINATION" ]]; then |
|
|
|
local temp_dir |
|
|
|
temp_dir=$(mktemp -d) |
|
|
|
pushd "$temp_dir" || return 2 |
|
|
|
curl --no-progress-meter -O $MAIN_TAR_GZ_URL |
|
|
|
fi |
|
|
|
|
|
|
|
if [[ $PWD != "$DESTINATION" ]]; then |
|
|
|
# download and fullfill /opt/miaou-bash, then run it from folder |
|
|
|
tar -xzf main.tar.gz --directory "$DESTINATION" |
|
|
|
popd || return 3 |
|
|
|
fi |
|
|
|
|
|
|
|
if [[ -L /opt/miaou-bash ]]; then |
|
|
|
/opt/miaou-bash/install.sh |
|
|
|
else |
|
|
|
rm -rf "$DESTINATION" |
|
|
|
local source_bin="$MIAOU_BASH_DIR/bin/miaou-bash" |
|
|
|
local dest_bin="/usr/bin/miaou-bash" |
|
|
|
cmp -s "$source_bin" "$dest_bin" || cp -f "$source_bin" "$dest_bin" |
|
|
|
|
|
|
|
pushd "$(mktemp -d)" |
|
|
|
curl --no-progress-meter -O $MAIN_TAR_GZ_URL |
|
|
|
tar -xzf main.tar.gz |
|
|
|
mv miaou-bash /opt/ |
|
|
|
pop_directory |
|
|
|
rm -rf "$TEMP" |
|
|
|
export MIAOU_BASH_DIR="$DESTINATION" |
|
|
|
} |
|
|
|
|
|
|
|
push_directory /opt/miaou-bash && ./install.sh |
|
|
|
## MAIN |
|
|
|
|
|
|
|
fi |
|
|
|
[[ "$UID" -ne 0 ]] && echo 'root privilege required' && exit 1 |
|
|
|
|
|
|
|
else |
|
|
|
MIAOU_BASH_DIR=$CURDIR |
|
|
|
export MIAOU_BASH_DIR |
|
|
|
source "$MIAOU_BASH_DIR/lib/functions.bash" |
|
|
|
"$MIAOU_BASH_DIR/tools/idem_apt_install" "${REQUIRED_PKGS[@]}" |
|
|
|
./init.sh |
|
|
|
fi |
|
|
|
[[ -v MIAOU_BASH_DIR ]] || bootstrap |
|
|
|
miaou-bash "$MIAOU_BASH_DIR/lib/init.bash" |