Use --reinstall for local MC deb install

This commit is contained in:
2024-12-11 18:18:25 -05:00
parent 63f40b4ca1
commit af22dc1aa5

View File

@@ -445,8 +445,8 @@ install_package() {
local -a pkg_array install_flags local -a pkg_array install_flags
local -A pkg_aliases local -A pkg_aliases
local input pkg _pkg local input pkg _pkg
local -i no_install_check=0 allow_downgrades=0 silent=0 refresh=0 no_gpg_check=0 local -i no_install_check=0 allow_downgrades=0 silent=0 refresh=0 no_gpg_check=0 reinstall=0
local long_opts="no-install-check,allow-downgrades,no-gpg-check,refresh,silent" local long_opts="no-install-check,allow-downgrades,no-gpg-check,refresh,reinstall,silent"
input=$(getopt -o +s -l "$long_opts" -- "$@") || { err "Incorrect options provided"; exit 1; } input=$(getopt -o +s -l "$long_opts" -- "$@") || { err "Incorrect options provided"; exit 1; }
eval set -- "$input" eval set -- "$input"
@@ -457,6 +457,7 @@ install_package() {
--allow-downgrades) allow_downgrades=1 ;; --allow-downgrades) allow_downgrades=1 ;;
--no-gpg-check) no_gpg_check=1 ;; --no-gpg-check) no_gpg_check=1 ;;
--refresh) refresh=1 ;; --refresh) refresh=1 ;;
--reinstall) reinstall=1 ;;
--silent|-s) silent=1 ;; --silent|-s) silent=1 ;;
--) shift; break ;; --) shift; break ;;
esac esac
@@ -505,7 +506,8 @@ install_package() {
# Generate installation flags based on the distribution # Generate installation flags based on the distribution
case $ID in case $ID in
debian|ubuntu) debian|ubuntu)
((allow_downgrades)) && install_flags+=(--allow-downgrades) ;; ((allow_downgrades)) && install_flags+=(--allow-downgrades)
((reinstall)) && install_flags+=(--reinstall) ;;
fedora|centos) fedora|centos)
((allow_downgrades)) && install_flags+=(--allowerasing) ((allow_downgrades)) && install_flags+=(--allowerasing)
((no_gpg_check)) && install_flags+=(--nogpgcheck) ((no_gpg_check)) && install_flags+=(--nogpgcheck)
@@ -922,10 +924,12 @@ install_mc_deb() {
execute rm -rf "$extract_dir" execute rm -rf "$extract_dir"
fi fi
# Use --reinstall to make sure local package is installed over repo package
if ! install_package \ if ! install_package \
--no-install-check \ --no-install-check \
--no-gpg-check \ --no-gpg-check \
--allow-downgrades \ --allow-downgrades \
--reinstall \
"$MC_DEB"; then "$MC_DEB"; then
err "Local MC DEB installation failed" err "Local MC DEB installation failed"
err "Only the default MC repo can be used for --install=local" err "Only the default MC repo can be used for --install=local"