From 04995241c4326ee0fd67007747075eaa3ba3f4c2 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sat, 14 Sep 2024 11:32:32 +0900 Subject: [PATCH] updated uninstall functions --- install-scripts/00-hypr-pkgs.sh | 14 +++++++++++--- install-scripts/Global_functions.sh | 23 ++++++++++++++--------- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/install-scripts/00-hypr-pkgs.sh b/install-scripts/00-hypr-pkgs.sh index 4ca0d50..020a428 100755 --- a/install-scripts/00-hypr-pkgs.sh +++ b/install-scripts/00-hypr-pkgs.sh @@ -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}" diff --git a/install-scripts/Global_functions.sh b/install-scripts/Global_functions.sh index a185b04..e4199b3 100755 --- a/install-scripts/Global_functions.sh +++ b/install-scripts/Global_functions.sh @@ -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 -} \ No newline at end of file + return 0 +}