Software/Sovran_SystemsOS_Updater/Updater Source Files/Update_Sovran_SystemsOS.sh

157 lines
3.1 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
2023-12-05 16:56:37 -08:00
2024-03-30 14:20:20 -07:00
LOGIN () {
2024-03-15 11:35:36 -07:00
2024-03-30 14:20:20 -07:00
mkdir -p /home/free/Documents/Updater_App_Logs
2024-03-30 14:20:20 -07:00
time_stamp=$(date +%Y-%m-%d-%T)
2023-12-06 10:43:02 -08:00
2024-03-30 14:20:20 -07:00
ssh root@localhost flatpak update -y &> /home/free/Documents/Updater_App_Logs/{$time_stamp}-Updater_Login_Log.txt
2023-12-06 10:43:02 -08:00
}
2023-12-06 10:08:06 -08:00
2024-03-30 14:20:20 -07:00
HUNGRY () {
2024-03-30 10:08:37 -07:00
2024-03-30 14:20:20 -07:00
pushd /home/free/Documents/Updater_App_Logs
2024-03-30 09:31:18 -07:00
2024-03-30 14:20:20 -07:00
file=$(ls -Art | tail -n 1)
2024-03-30 09:31:18 -07:00
2024-03-30 14:20:20 -07:00
if grep -w "Permission denied" $file ; then
zenity --error \
--width=500 \
--title="Sovran_SystemsOS_Updater" \
2024-03-31 11:17:33 -07:00
--text="Authentication Canceled. Exiting..."
exit 1
2024-03-30 09:31:18 -07:00
2024-03-30 14:20:20 -07:00
fi
2024-03-31 11:17:33 -07:00
2024-03-30 14:20:20 -07:00
popd
2024-03-30 09:31:18 -07:00
}
2024-03-30 14:20:20 -07:00
FLAKE () {
2024-03-30 10:08:37 -07:00
2024-03-30 14:20:20 -07:00
time_stamp=$(date +%Y-%m-%d-%T)
2024-03-30 09:31:18 -07:00
2024-03-31 11:17:33 -07:00
ssh root@localhost "cd /etc/nixos && nix flake update &> /home/free/Documents/Updater_App_Logs/{$time_stamp}-Updater_Flake_Log.txt"
}
PANCAKE-FLAKE () {
2024-03-30 09:31:18 -07:00
2024-03-31 11:17:33 -07:00
pushd /home/free/Documents/Updater_App_Logs
file=$(ls -Art | tail -n 1)
if grep -w "nix: error" $file ; then
2024-03-30 09:31:18 -07:00
zenity --error \
--width=1300 \
--title="Sovran_SystemsOS_Updater" \
--text="Could not complete the Flake update. Check the Updater_Flake_Log.txt in your Documents under Updater_App_Logs folder for more details."
2024-03-30 14:20:20 -07:00
exit 1
2024-03-30 09:31:18 -07:00
fi
2024-03-31 11:17:33 -07:00
popd
2024-03-30 09:31:18 -07:00
}
2024-03-31 11:17:33 -07:00
YOGURT-FLAKE () {
2024-03-30 10:08:37 -07:00
pushd /home/free/Documents/Updater_App_Logs
file=$(ls -Art | tail -n 1)
if ! grep -w "updating" $file ; then
zenity --info \
--ellipsize \
--no-wrap \
2024-03-30 10:10:29 -07:00
--width=600 \
2024-03-30 10:08:37 -07:00
--title="Sovran_SystemsOS_Updater" \
--text="There are no updates at this time. Your Sovran Pro is up to date!"
2024-03-31 11:17:33 -07:00
exit 1
2024-03-30 10:08:37 -07:00
fi
popd
}
2024-03-31 11:17:33 -07:00
2024-03-13 20:40:08 -07:00
SPICE () {
2024-03-13 20:35:00 -07:00
2024-03-14 11:58:32 -07:00
time_stamp=$(date +%Y-%m-%d-%T)
2024-03-13 21:07:20 -07:00
2024-03-30 09:31:18 -07:00
xterm -T "Sovran_SystemsOS_Updater" -fa 'Noto Mono' -fs 15 -fg white -bg black -e bash -c "ssh root@localhost 'cd /etc/nixos && nixos-rebuild switch --impure 2>&1 | tee /home/free/Documents/Updater_App_Logs/{$time_stamp}-Updater_Log.txt'"
2024-03-13 20:35:00 -07:00
2024-03-15 11:35:36 -07:00
}
2024-03-13 20:35:00 -07:00
2024-03-15 11:35:36 -07:00
TACO () {
2024-03-13 20:35:00 -07:00
2024-03-15 11:35:36 -07:00
pushd /home/free/Documents/Updater_App_Logs
2024-03-13 20:35:00 -07:00
2024-03-15 11:35:36 -07:00
file=$(ls -Art | tail -n 1)
2024-03-30 09:31:18 -07:00
if grep -w "error:" $file ; then
2024-03-15 11:35:36 -07:00
zenity --error \
--width=1300 \
--title="Sovran_SystemsOS_Updater" \
2024-03-30 09:31:18 -07:00
--text="Could not complete the Sovran_SystemsOS Update. Check the Updater_Log.txt in your Documents under Updater_App_Logs folder for more details."
2024-03-15 11:35:36 -07:00
else
2024-03-14 11:58:32 -07:00
zenity --info \
--ellipsize \
--no-wrap \
2024-03-15 13:01:33 -07:00
--width=550 \
2024-03-15 11:35:36 -07:00
--title="Sovran_SystemsOS_Updater" \
2024-03-14 11:58:32 -07:00
--text="Yay complete! Please reboot when you are ready."
2024-03-15 11:35:36 -07:00
2024-03-31 11:17:33 -07:00
exit 1
2023-12-06 10:43:02 -08:00
fi
2023-12-05 16:56:37 -08:00
2024-03-15 11:35:36 -07:00
popd
2023-12-06 10:43:02 -08:00
}
2023-12-06 10:08:06 -08:00
2024-03-30 09:31:18 -07:00
###########
curl "https://git.sovransystems.com/Sovran_Systems/Software/raw/branch/main/Sovran_SystemsOS_Updater/Updater%20Source%20Files/Intro.md" |
2024-03-30 14:20:20 -07:00
zenity --text-info \
--width=1100 \
2024-03-31 11:17:33 -07:00
--height=830 \
2024-03-30 14:20:20 -07:00
--title="Sovran_SystemsOS_Updater"
2023-12-06 09:14:02 -08:00
2023-12-06 10:08:06 -08:00
if [[ $? -eq 1 ]]; then
2023-12-06 09:14:02 -08:00
exit 1
2023-12-06 09:14:02 -08:00
else
2024-03-30 09:31:18 -07:00
2024-03-30 14:20:20 -07:00
LOGIN | zenity --progress --no-cancel --auto-close --width=500 --pulsate --text="Updating Flatpaks now..." --title="Sovran_SystemsOS_Updater"
HUNGRY
FLAKE | zenity --progress --no-cancel --auto-close --width=500 --pulsate --text="Updating Flake now..." --title="Sovran_SystemsOS_Updater"
2024-03-30 09:31:18 -07:00
2024-03-30 10:08:37 -07:00
PANCAKE-FLAKE
2024-03-31 11:17:33 -07:00
YOGURT-FLAKE
2024-03-31 11:18:31 -07:00
SPICE | zenity --progress --no-cancel --auto-close --width=1050 --pulsate --text="Updating entire system now. In rare cases, it could take up to 3 hours. Go have some herbal tea and relax while the update is in progress." --title="Sovran_SystemsOS_Updater"
2024-03-15 11:35:36 -07:00
TACO
2023-12-06 10:08:06 -08:00
fi
2023-12-06 09:15:50 -08:00
2024-03-30 09:49:23 -07:00
find /home/free/Documents/Updater_App_Logs -name "*.txt" -type f -mtime +3 -delete
2024-03-15 11:35:36 -07:00
exit 0