diff --git a/install-scripts/Global_functions.sh b/install-scripts/Global_functions.sh index 287feb9..ea32abd 100755 --- a/install-scripts/Global_functions.sh +++ b/install-scripts/Global_functions.sh @@ -40,6 +40,27 @@ install_package() { fi } +# Function for re-installing packages +re_install_package() { + echo -e "${NOTE} Force installing $1 ..." + + # Try to reinstall the package + if sudo apt-get install --reinstall -y "$1" 2>&1 | tee -a "$LOG"; then + # Check if the package was installed successfully + if dpkg -l | grep -q -w "$1"; then + echo -e "${OK} $1 was installed successfully." + else + # Package was not found, installation failed + echo -e "${ERROR} $1 failed to install. Please check the install.log. You may need to install it manually. Sorry, I have tried :(" + exit 1 + fi + else + # Installation command failed + echo -e "${ERROR} Failed to reinstall $1. Please check the install.log. You may need to install it manually. Sorry, I have tried :(" + exit 1 + fi +} + uninstall_package() { # Check if package is installed if sudo dpkg -l | grep -q -w "^ii $1" ; then diff --git a/install-scripts/hyprland.sh b/install-scripts/hyprland.sh index 0269974..18226fc 100755 --- a/install-scripts/hyprland.sh +++ b/install-scripts/hyprland.sh @@ -7,7 +7,10 @@ hypr=( libhyprlang-dev hyprwayland-scanner hyprland-protocols - hyprland-dev +) + +# forcing to reinstall. Had experience it says hyprland is already installed +f_hypr=( hyprland ) @@ -26,10 +29,17 @@ LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprland.log" source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" # Hyprland -printf "${NOTE} Installing Hyprland .......\n" +printf "${NOTE} Installing additional Hyprland packages .......\n" for HYPR in "${hypr[@]}"; do install_package "$HYPR" 2>&1 | tee -a "$LOG" [ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $HYPR Package installation failed, Please check the installation logs"; exit 1; } done +# force +printf "${NOTE} Force Installing Hyprland .......\n" + for HYPR1 in "${f_hypr[@]}"; do + re_install_package "$HYPR1" 2>&1 | tee -a "$LOG" + [ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $HYPR1 Package installation failed, Please check the installation logs"; exit 1; } +done + clear \ No newline at end of file