Browse Source

boostrap twice

main
pvincent 2 days ago
parent
commit
50d48b6359
  1. 4
      install.sh
  2. 8
      lib/functions.bash
  3. 12
      lib/self-upgrade.bash

4
install.sh

@ -6,11 +6,10 @@ readonly MIAOU_BASH_DIR=/opt/miaou-bash
readonly MAIN_TAR_GZ_URL="https://git.artcode.re/miaou/miaou-bash/archive/main.tar.gz"
## FUNCTIONS
function bootstrap {
cd "$(mktemp -d)" || exit 3
curl -s -O $MAIN_TAR_GZ_URL
tar -xzf main.tar.gz --directory "$MIAOU_BASH_DIR/.."
tar -xzf main.tar.gz --directory "$(dirname $MIAOU_BASH_DIR)"
local source_bin="$MIAOU_BASH_DIR/bin/miaou-bash"
local dest_bin="/usr/bin/miaou-bash"
@ -18,7 +17,6 @@ function bootstrap {
cp -f "$source_bin" "$dest_bin"
fi
echo "miaou-bash deployed to: $MIAOU_BASH_DIR"
}
function assert_supported_distro {

8
lib/functions.bash

@ -4,14 +4,6 @@
## ARRAY Functions
## ===============
function is_debian_like {
grep -E 'ID=debian|ID_LIKE=debian' /etc/os-release
}
function is_arch_like {
grep -E 'ID=arch|ID_LIKE=arch' /etc/os-release
}
function _array_contains {
local -n array=$1
local element=$2

12
lib/self-upgrade.bash

@ -2,26 +2,22 @@
# CONSTANTS
if [[ ! -v MAIN_TAR_GZ_URL ]]; then
readonly MAIN_TAR_GZ_URL="https://git.artcode.re/miaou/miaou-bash/archive/main.tar.gz"
fi
# FUNCTIONS
#FIXME: source from functions.bash
function bootstrap {
cd "$(mktemp -d)" || exit 4
cd "$(mktemp -d)" || exit 3
curl -s -O $MAIN_TAR_GZ_URL
tar -xzf main.tar.gz --directory "$MIAOU_BASH_DIR/.."
tar -xzf main.tar.gz --directory "$(dirname $MIAOU_BASH_DIR)"
local source_bin="$MIAOU_BASH_DIR/bin/miaou-bash"
local dest_bin="/usr/bin/miaou-bash"
if ! cmp -s "$source_bin" "$dest_bin"; then
cp -f "$source_bin" "$dest_bin"
echo "/usr/bin/miaou-bash updated"
fi
echo "miaou-bash refreshed from: $MIAOU_BASH_DIR"
}
# MAIN
[[ "$UID" -ne 0 ]] && echo 'root privilege required' && exit 1
@ -31,8 +27,10 @@ latest=$("$MIAOU_BASH_DIR/tools/wget_semver" artcode miaou/miaou-bash)
if [[ "$current" == "$latest" ]]; then
echo "up-to-date version: $current"
else
# TODO: prevent refresh from development purpose
rm -rf "$MIAOU_BASH_DIR"
bootstrap
miaou-bash "$MIAOU_BASH_DIR/lib/init.bash"
echo "miaou-bash successfully updated"
miaou-bash --version

Loading…
Cancel
Save