Browse Source

boostrap twice

main
pvincent 2 days ago
parent
commit
50d48b6359
  1. 4
      install.sh
  2. 8
      lib/functions.bash
  3. 14
      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" readonly MAIN_TAR_GZ_URL="https://git.artcode.re/miaou/miaou-bash/archive/main.tar.gz"
## FUNCTIONS ## FUNCTIONS
function bootstrap { function bootstrap {
cd "$(mktemp -d)" || exit 3 cd "$(mktemp -d)" || exit 3
curl -s -O $MAIN_TAR_GZ_URL 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 source_bin="$MIAOU_BASH_DIR/bin/miaou-bash"
local dest_bin="/usr/bin/miaou-bash" local dest_bin="/usr/bin/miaou-bash"
@ -18,7 +17,6 @@ function bootstrap {
cp -f "$source_bin" "$dest_bin" cp -f "$source_bin" "$dest_bin"
fi fi
echo "miaou-bash deployed to: $MIAOU_BASH_DIR" echo "miaou-bash deployed to: $MIAOU_BASH_DIR"
} }
function assert_supported_distro { function assert_supported_distro {

8
lib/functions.bash

@ -4,14 +4,6 @@
## ARRAY Functions ## 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 { function _array_contains {
local -n array=$1 local -n array=$1
local element=$2 local element=$2

14
lib/self-upgrade.bash

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

Loading…
Cancel
Save