new install, self-upgrade, uninstall
This commit is contained in:
+29
-13
@@ -17,7 +17,19 @@ readonly BACKUP='ORIGINAL'
|
||||
|
||||
# FUNCTIONS
|
||||
|
||||
function required_packages {
|
||||
function usr_bin_miaou_bash {
|
||||
local source_bin="$MIAOU_BASH_DIR/bin/miaou-bash"
|
||||
local dest_bin="/usr/bin/miaou-bash"
|
||||
if ! [[ -f "$dest_bin" ]]; then
|
||||
cp -f "$source_bin" "$dest_bin"
|
||||
echo "/usr/bin/miaou-bash created"
|
||||
elif ! cmp -s "$source_bin" "$dest_bin"; then
|
||||
cp -f "$source_bin" "$dest_bin"
|
||||
echo "/usr/bin/miaou-bash updated"
|
||||
fi
|
||||
}
|
||||
|
||||
function install_required_packages {
|
||||
. "$MIAOU_BASH_DIR"/tools/pkg_add "${REQUIRED_PKGS[@]}"
|
||||
}
|
||||
|
||||
@@ -51,20 +63,23 @@ function link_etc {
|
||||
fi
|
||||
}
|
||||
|
||||
function link_config_files {
|
||||
if [[ "$DISTRO_LIKE" == 'arch' ]]; then
|
||||
mkdir -p /etc/vim
|
||||
if ! grep -q '/etc/vim/vimrc.local' /etc/vimrc; then
|
||||
cat >>/etc/vimrc <<-EOF
|
||||
" Source a global configuration file if available
|
||||
if filereadable("/etc/vim/vimrc.local")
|
||||
source /etc/vim/vimrc.local
|
||||
endif
|
||||
function arch_vimrc {
|
||||
mkdir -p /etc/vim
|
||||
if ! grep -q '/etc/vim/vimrc.local' /etc/vimrc; then
|
||||
cat >>/etc/vimrc <<-EOF
|
||||
" Source a global configuration file if available
|
||||
if filereadable("/etc/vim/vimrc.local")
|
||||
source /etc/vim/vimrc.local
|
||||
endif
|
||||
EOF
|
||||
echo "vimrc source /etc/vim/vimrc.local if any"
|
||||
fi
|
||||
echo "vimrc source /etc/vim/vimrc.local if any"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
function link_config_files {
|
||||
[[ "$DISTRO_LIKE" == 'arch' ]] && arch_vimrc
|
||||
|
||||
link_etc vimrc.core vim
|
||||
link_etc vimrc.miaou vim
|
||||
link_etc vimrc.rookie vim
|
||||
@@ -100,8 +115,9 @@ function fix_terminfo_ghostty {
|
||||
|
||||
source "$MIAOU_BASH_DIR/lib/functions.bash"
|
||||
assert_root
|
||||
usr_bin_miaou_bash
|
||||
DISTRO_LIKE=$(fetch_distro_like)
|
||||
required_packages
|
||||
install_required_packages
|
||||
no_more_skeleton
|
||||
fix_terminfo_ghostty
|
||||
link_config_files
|
||||
|
||||
@@ -20,12 +20,11 @@ function bootstrap {
|
||||
}
|
||||
|
||||
function self_upgrade {
|
||||
rm -rf "$MIAOU_BASH_DIR"
|
||||
bootstrap
|
||||
|
||||
. "$MIAOU_BASH_DIR/lib/init.bash"
|
||||
mv "$MIAOU_BASH_DIR" "$MIAOU_BASH_DIR".before_upgrade
|
||||
"$MIAOU_BASH_DIR".before_upgrade/install.sh
|
||||
rm -rf "$MIAOU_BASH_DIR".before_upgrade
|
||||
echo "miaou-bash successfully updated"
|
||||
miaou-bash --version
|
||||
. "$MIAOU_BASH_DIR"/bin/miaou-bash --version
|
||||
}
|
||||
|
||||
# MAIN
|
||||
|
||||
+3
-4
@@ -17,9 +17,7 @@ function uninstall {
|
||||
|
||||
rm -f /etc/vimrc/vimrc.{azerty,core,local,miaou,rookie}
|
||||
rm -rf /opt/miaou-bash
|
||||
|
||||
unset MIAOU_BASH_DIR
|
||||
echo 'MIAOU-BASH fully uninstalled, restored from original'
|
||||
}
|
||||
|
||||
# Main
|
||||
@@ -29,7 +27,8 @@ assert_system_mode
|
||||
assert_root
|
||||
cd || exit
|
||||
if _confirm_destructive; then
|
||||
uninstall
|
||||
uninstall
|
||||
echo 'MIAOU-BASH fully uninstalled, previous settings restored from original'
|
||||
else
|
||||
>&2 echo canceled && builtin exit 1
|
||||
builtin exit 1
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user