#!/bin/bash
# Этот скрипт проверяет наличие обновлений, обновляет и перезапускает сервисы при необходимости
echo -e "\n"; read -n 1 -p "Проверить обновления? [Y/n]: " cupdate;
if [[ "$cupdate" = "" || "$cupdate" = [yYlLдД] ]]; then echo -e "\n"; pamac checkupdates -a; fi
#---------------------------------------------------------------------------------------------
echo -e "\n"; read -n 1 -p "Обновить? [Y/n]: " update; 
if [[ "$update" = "" || "$update" = [yYlLдД] ]]; then echo -e "\n"; 
  sudo sed -i 's/skipAutosnap=false/skipAutosnap=true/g' /etc/timeshift-autosnap.conf; echo -e "\n"; 
  pamac upgrade --force-refresh | tee $HOME/upgrade.pamac; 
#---------------------------------------------------------------------------------------------
  echo -e "\n"; read -n 1 -p "Обновить через yay? [y/N]: " yayupd;
  if [[ "$yayupd" = [yYlLдД] ]]; then echo -e "\n"; yay | tee $HOME/upgrade.yay; echo -e "\n"; fi
  sudo sed -i 's/skipAutosnap=true/skipAutosnap=false/g' /etc/timeshift-autosnap.conf; echo -e "\n";
#---------------------------------------------------------------------------------------------
#    echo -e "\n"; read -n 1 -p "Обновить flatpak?  [y/N]: " flat;
#    if [[ "$flat" = [yY] ]]; then echo -e "\n"; flatpak update; echo -e "\n"; fi
# Проверка необходимости постдействий после обновлений ---------------------------------------
  if [[ -f $HOME/upgrade.pamac ]]; then 
    if cat $HOME/upgrade.pamac | grep 'Нет заданий.'; then rm $HOME/upgrade.pamac; fi
  fi
  if [[ -f $HOME/upgrade.yay ]]; then
    if cat $HOME/upgrade.yay | grep 'делать нечего'; then rm $HOME/upgrade.yay; fi
  fi
  if compgen -G "$HOME/upgrade.*" > /dev/null; then echo -e "\n";
# --------------------------------------------------------------------------------------------
    read -n 1 -p "Сравнить конфиги pacnew? [Y/n]: " diff;
    if [[ "$diff" = "" || "$diff" = [yYlLдД] ]]; then echo -e "\n"; 
      read -n 1 -p "Сравнить в meld(графика)? [Y/n]: " difft;
      if [[ "$difft" = "" || "$difft" = [yYlLдД] ]]; then sudo DIFFPROG=meld pacdiff; 
        else sudo DIFFPROG=vimdiff pacdiff; fi
#     Конец условия Сравнить конфиги pacnew? 
      fi
      echo -e "\n"; read -n 1 -p "Проверить сервисы для перезапуска? [Y/n]: " restart;
      if [[ "$restart" = "" || "$restart" = [yYlLдД] ]]; then echo -e "\n"; sudo systemctl daemon-reload; sudo needrestart -u NeedRestart::UI::stdio -r i; echo -e "\n"; fi
# Конец условия Необходимости постобработки -------------------------------------------------
  fi
#Конец условия Обновить?
fi
echo -e "\n";
# Удаление логов ------------------------------------------------------------------------------
if [[ -f $HOME/upgrade.yay ]]; then rm $HOME/upgrade.yay; fi
if [[ -f $HOME/upgrade.pamac ]]; then rm $HOME/upgrade.pamac; fi