updated uninstall functions

This commit is contained in:
JaKooLit 2024-09-14 11:32:32 +09:00
parent 44b58b3c65
commit 04995241c4
2 changed files with 25 additions and 12 deletions

View File

@ -90,15 +90,23 @@ source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
LOG="Install-Logs/install-$(date +%d-%H%M%S)_hypr-pkgs.log"
# uninstalling conflicting packages
printf "\n%s - Removing Mako, Dunst and rofi as it conflicts with swaync and rofi-wayland \n" "${NOTE}"
# Initialize a variable to track overall errors
overall_failed=0
printf "\n%s - Removing Mako, Dunst, and rofi as they conflict with swaync and rofi-wayland \n" "${NOTE}"
for PKG in "${uninstall[@]}"; do
uninstall_package "$PKG" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then
echo -e "\e[1A\e[K${ERROR} - $PKG uninstallation failed, please check the log"
exit 1
# Track if any uninstallation failed
overall_failed=1
fi
done
# Report if any uninstallation failed, but do not exit the script
if [ $overall_failed -ne 0 ]; then
echo -e "${ERROR} Some packages failed to uninstall. Please check the log."
fi
# Installation of main components
printf "\n%s - Installing hyprland packages.... \n" "${NOTE}"

View File

@ -65,18 +65,23 @@ install_package() {
# Function for uninstalling packages
uninstall_package() {
local pkg="$1"
# Checking if package is installed
if pacman -Qi "$1" &>> /dev/null ; then
if pacman -Qi "$pkg" &>> /dev/null ; then
# Package is installed
echo -e "${NOTE} Uninstalling $1 ..."
sudo pacman -R --noconfirm "$1" 2>&1 | tee -a "$LOG"
echo -e "${NOTE} Uninstalling $pkg ..."
sudo pacman -R --noconfirm "$pkg" 2>&1 | grep -v "error: target not found" | tee -a "$LOG"
# Making sure package is uninstalled
if ! pacman -Qi "$1" &>> /dev/null ; then
echo -e "\e[1A\e[K${OK} $1 was uninstalled."
if ! pacman -Qi "$pkg" &>> /dev/null ; then
echo -e "\e[1A\e[K${OK} $pkg was uninstalled."
else
# Something went wrong, exiting to review log
echo -e "\e[1A\e[K${ERROR} $1 failed to uninstall. Please check the log."
exit 1
# Log the failure but continue
echo -e "\e[1A\e[K${ERROR} $pkg failed to uninstall. Please check the log."
return 1
fi
else # Package is not installed
echo -e "${NOTE} $pkg is not installed, skipping uninstallation."
fi
}
return 0
}